博文
基于VB的分布式监控系统通信设计(2005-10-10 20:25:00)
摘要:
基于VB的分布式监控系统通信设计
郭爱文 (武汉大学动力工程系自动化专业)
王 静 (武汉大学电力工程系通讯专业) 武汉 430072
摘 要 本文介绍了利用VB的多种通信手段实现分布式监控系统的多种通信功能,对每一种通信手段给出其原理和应用实例。
关键词 VB 通信 串行口 控件 DDE API
The Communication Design of Distributed Control System Based on VB
Abstract: This article introduces the realization of many communication functions of Distributed Control System with the application on lots of communication methods of VB.
Key Words: VB, Communication, Serial Port, Control Box, DDE, API
1. 概论
分布式监控系统已在工业领域得到广泛应用,许多企业对于中小规模的设备,如中小型热电厂和水电站,出于硬件软件投资利润率和性能价格比的考虑,常常是自行开发或参与开发本企业的监控系统。而许多企业在成套引进大型DCS系统后,也常因实际情况而需要自行开发或改进其监控系统。
分布式监控系统以微机为基础,用数据通信将微机连在一起实现数据共享,从而对工业过程进行集中监视管理和分散控制。因此,分布式监控系统中通信的设计与实现是至关重要的环节。Visual Basic开发语言具有简洁明了、编程效率高、开发周期短的特点,利用VB中的多种通信手段,可实现分布式监控系统的多种通信功能。
2. 与下位机的通信
分布式监控系统的数据采集站可直接与现场带有标准RS-232C接口的智能仪表、PL......
用VB编写网络寻呼机(2005-10-10 20:23:00)
摘要:
用VB编写网络寻呼机
用VB编写网络寻呼机
---- 提起ICQ的大名,爱好电脑的朋友一定不会感到陌生的吧?ICQ就是互联网上的寻呼机,无论什么时候,只要你的朋友在线,你只需在ICQ中输入他的ID号码,你就可以在互联网上呼到他。ICQ由于其方便、快捷,且拥有众多的注册用户而一举成为互联网上最流行的网络寻呼机,它几乎成为每一个上网用户的必备之物。当你在使用ICQ的时候,是否会想过自己动手编写一个网络寻呼机呢?这其实在VB中就可以实现。
---- 网络寻呼的原理就是当客户端程序连接服务器时,通过服务器搜索所要呼叫的ID号码,如果检测到此用户且该用户正处于联网状态,则服务器通知此用户的客户端程序响应主叫方客户端程序,然后在主叫方和被叫方建立连接后,双方就可以聊天或进行其它的通信。
---- 在VB中编写网络寻呼机需要建立两个程序,一个为客户端程序Client,一个为服务器端程序Server。
---- 一、在Client工程中建立一个窗体,加载WinSock控件,称为tcpClient,协议选择TCP。再加入四个文本框,用以输入服务器的IP地址、服务器端口号,被呼叫的网络寻呼ID号以及用户登录ID号。然后再在窗体中加入三个按钮,分别命名为“连接”、“断开”和“退出”,点击“连接”按钮,并进行如下初始化连接,代码如下:
Private Sub Command1_Click()
If Len(Text1.Text) = 0 And Len(Text2.Text) = 0 Then
MsgBox ("请输入主机名或主机IP地址。")
Exit Sub
ElseIf Len(Text1.Text) > 0 Then
tcpClient.RemoteHost = Text1.Text
tcpClient.RemotePort = Text2.Text
End If
tcpClient.Connect
Timer1.Enabled = True
End Sub
Private Sub Command2_Click()
tcpClient.Clos......
用Visual Basic 5.0开发无线通讯数据采集应用程序(2005-10-10 20:22:00)
摘要:
用Visual Basic 5.0开发无线通讯数据采集应用程序2
下面的部分程序代码是计算机和900M无线电台之间的传输程序,本程序已经在486计算机和PII586上调试通过。
1 从串口读入电台数据程序GetStringFromComm()
功能:(1) 主要完成从端口获得数据,将二进制的数据转换为ASCII码数据
Public Function GetStringFromComm() As String
定义变量(略)
If frmTerminal.MSComm1.InBufferCount < 7 Then
GetStringFromComm = ""
Exit Function
End If
'//读入标志码
frmTerminal.MSComm1.InputLen = 6
ReDim Preserve BinDataarr(6) As Byte
BinData = frmTerminal.MSComm1.Input
BinDataarr = BinData
UserDataLenth = BinDataarr(5) '用户数据的长度
Wait1:
If BinDataarr(5) > frmTerminal.MSComm1.InBufferCount Then '未接受完数据
delay 6 '延时6s
GoTo Wait1
End If
......
道貌岸然/细节识男人(2005-10-10 20:22:00)
摘要:
道貌岸然/细节识男人
事实上,男人的一生是由无数个生活细节以及这些细节可能产生的结果构成的。细节体现了男人的生活态度,体现了男人的学识和修养,也体现了男人面对时尚潮流的取舍态度。我们说,从本质上看男人没多大区别,但透过细节这个层面去窥探的话,男人毫无疑问是千姿百态、各不相同的。所以,通过细节识男人不仅是女人的功课,也是社会学工作者或人类学工作者的必修课。
倘若我们不那么斤斤计较的话,男人的细节基本上可区分成静和动两个层面。前者大体是穿衣打扮,是一道“凝固的风景”;后者可归纳为待人接物,是一幅“流动的画卷”。只不过没区别的是,男人对这两个层面都动足了脑筋。他们的种种努力都是为了全方位地展示男人的性别魅力或男性精神。
当然,动和静的比例并不是1∶1。因为性格差异,因为学识修养有别,更因为对时尚潮流的或迎合或抗拒,有些男人比较擅长做身体文章,而另外一些男人则喜欢在举手投足间展示细节的魅力,关于服饰本身,他们所倾注的精力或关怀并不是太多。要是举例的话,前者有胡兵,后者有葛优。
还要重点谈谈细节与时尚的关系。时尚是这样一种力量,它能够将各式男人的细节模式化(前提当然是你迎合它),变得没有个性。而一旦反叛的话,则又陷入另一种模式化的误区。比如男人的发型,如果紧拉住时尚的手,你就理成绅士头、老板头,如果背离时尚(天晓得是背离还是更加靠近),你就只能理成崩克头、板刷头或干脆留一头长发。所以在一个时尚社会里,男人的细节多多少少有了些被包装的痕迹。
从细节入手抓住品味;先有细节,然后才能展开情节(多少爱故事的开头都源于女人对男人某一细节的莫名感动)。这都是男人细节的重要意义。知识可以改变命运,细节同样可以改变命运。
静
头脸部
男人的头脸部是男人身上最生动、最惹人注目的部位。对这个部位的细节多加注意往往能获致他人的好感。
☆头发(发饰)
以前,我们对于发饰的意义认识不足,美容与美发的联系停留在什么样的脸型配什么样的发型的浅表层次上。事实上,人的脸就像一张已完工的画稿,这幅画装不装裱,用何种材料装裱,如何装裱大有讲究,是......
10分钟46个细节看透男人心(2005-10-10 20:17:00)
摘要:
10分钟46个细节看透男人心
他是不是你的Mr. Right?要找到这个问题的答案,也许并不需要6个月或者3年。
美国心理学家研究显示,陌生人见面,只需30秒就会对对方产生初步印象,只需10分钟,就可认定自己喜不喜欢对方。数位专家的经验证明:10分钟,我们至少可以观察到男人的46个细节——
细节1-14:外形
他的头发
现居纽约的医学博士Gary Hitzig的临床研究结果发现:
1、如果一个男人像女人关心时装一样关心自己的头发,他会有自信的优点和不够细心的缺点——一个认为自己的发型非常棒的男人,会把自己当成众目所归的中心,而不是众手所指的对象。他们习惯于得到他们想要的任何东西,常常不愿意降低姿态去迎合别人。
2、男人的自信会随头发的减少而减少,如果他是秃头,他可能会不够自信,但对来说,这未必是坏事,这样的男人更容易考虑他人的感受,因而更易相处,和他在一起,更容易如沐春风。
他的“颜色”
他出现了,带着他喜欢的颜色,除了极少数的情况(像《单身日记》中男主角被逼穿上母亲喜欢的幼稚毛衣)不代表他本人外,他的运动服、爱车、背包、沙发、窗帘、被单的颜色会显示他的性格:
3、喜欢红色的男人,感情很热烈,但脾气稍显暴躁;
4、喜欢蓝色的男人,喜欢独处,不爱热闹。
5、喜欢黄色的男人非常开朗单纯,但也不免有些孩子气。
6、喜欢绿色的男人个性沉稳、有很好的品味,是典型的大众情人。
7、喜欢白色的他头脑灵活,但有些神经质,他是一个制造浪漫的高手,和他谈恋爱,会时时有惊喜。
8、喜欢黑色的人寡言少语,不是一个很好的谈话对象,但是稳重。
他的屋子
实践表明:把袜子到处乱扔的男人和把袜子按颜色放好的男人是两种不同的生物。
9、后者把挑剔当成乐趣。对你的最高期望就是整洁。
10、罗比较而言,一个屋子里乱七八糟的男人更像男人,他也许散漫,但是思想开放,对你的要求也不局限于家务。
11、不过,如果他的屋子里连一个像样的扫把和一个擦......
用VB编写网络寻呼机(2005-10-10 20:15:00)
摘要:用VB编写网络寻呼机
---- 提起ICQ的大名,爱好电脑的朋友一定不会感到陌生的吧?ICQ就是互联网上的寻呼机,无论什么时候,只要你的朋友在线,你只需在ICQ中输入他的ID号码,你就可以在互联网上呼到他。ICQ由于其方便、快捷,且拥有众多的注册用户而一举成为互联网上最流行的网络寻呼机,它几乎成为每一个上网用户的必备之物。当你在使用ICQ的时候,是否会想过自己动手编写一个网络寻呼机呢?这其实在VB中就可以实现。
---- 网络寻呼的原理就是当客户端程序连接服务器时,通过服务器搜索所要呼叫的ID号码,如果检测到此用户且该用户正处于联网状态,则服务器通知此用户的客户端程序响应主叫方客户端程序,然后在主叫方和被叫方建立连接后,双方就可以聊天或进行其它的通信。
---- 在VB中编写网络寻呼机需要建立两个程序,一个为客户端程序Client,一个为服务器端程序Server。
---- 一、在Client工程中建立一个窗体,加载WinSock控件,称为tcpClient,协议选择TCP。再加入四个文本框,用以输入服务器的IP地址、服务器端口号,被呼叫的网络寻呼ID号以及用户登录ID号。然后再在窗体中加入三个按钮,分别命名为“连接”、“断开”和“退出”,点击“连接”按钮,并进行如下初始化连接,代码如下:
Private Sub Command1_Click()
If Len(Text1.Text) = 0 And Len(Text2.Text) = 0 Then
MsgBox ("请输入主机名或主机IP地址。")
Exit Sub
ElseIf Len(Text1.Text) > 0 Then
tcpClient.RemoteHost = Text1.Text
tcpClient.RemotePort = Text2.Text
End If
tcpClient.Connect
Timer1.Enabled = True
End Sub
Private Sub Command2_Click()
tcpClient.Close '断开连接
End Sub
Private Sub Command3_Cli......
VB中窗体控制特效代码收集(2005-10-10 20:14:00)
摘要:
VB中窗体控制特效代码收集
在Visual Basic中如何拖动窗体或控件
现在的许多Windows下的应用程序,都采用了图形化的界面,例如:WINAMP等!这样做的好处是可以使程序界面更漂亮生动,更具吸引力。但是在这样的界面下就不能使用Windows原来的标题条了,否则会影响界面的美观性。那么在没有标题条的情况下如何用鼠标拖动窗体呢?或者拖动其它的控件呢?
其实,采用API函数调用很容易实现,下面我们以拖动窗体(Form1)为例来具体讲一下实现方法:
1.新建立一个项目,名称为:test.vbp.
2. 填加一个模块,名称为:test.bas,并且在声明部分加入以下代码:
Declare Function ReleaseCapture Lib "user32" () As Long
Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Const WM_SYSCOMMAND = &H112
Public Const SC_MOVE = &HF012
其中ReleaseCapture函数是用来释放鼠标捕获的,SendMessage函数是一个在WindowsAPI中非常重要的函数,在这里的作用是用来向Windows发送移动窗体的消息。WM_SYSCOMMAND是向Windows发送消息的常量。SC_MOVE是控制移动窗体的常量。请注意:这里SC_MOVE的赋值一定要是&HF012,它表示鼠标对象。
3.在窗体的MouseDown过程中加入以下代码:
ReleaseCapture
SendMessage Form1.hwnd, WM_SYSCOMMAND, SC_MOVE, 0
其中ReleaseCapture函数用来释放鼠标捕获,SendMessage函数向Windows发送移动窗体的消息。
4.保存......
男女之间六大隐密私语(2005-10-09 20:16:00)
摘要:暧昧是盛大的成人游戏,我们需要技法,我们需要攻略,我们亦需要暧昧的语言
——这会让过程变得更加曲折有趣。
情欲火花
——彼此都知道有这么点意思,想让这么点意思发展成燎原之势,到时候能不能扑灭是一回事,先烧起来再说。
1、女的打电话给男的,语气期期艾艾:今晚你有事吗?
男的充满期望又拿腔作势地说:那要看是什么事了。
潜台词:要是公事,对不起,我很忙,要是私事,嘿嘿嘿嘿...
2、餐桌上,男女二人边吃边聊。女子目光躲闪,不时作娇羞状。
男子富含深意地看着女子眼睛:“你一直喜欢这么压抑自己的感情?”
潜台词:我知道你对我有意思,可光有意思还不够,还要快快有所“行动”啊!
高手说这句话时,一定将深情与痛惜之情通过富于磁性的声音传达得淋漓尽致。此话一出,保证气氛一下子变得暧昧万分。
3、酒吧,男女对酌。
女人叫侍应生:给我和我先生每人来一杯马提尼。
男受宠若惊中,女大方一笑:这里最近对夫妻打折。
男正恍然若失,女嫣然一笑,眼带横波……
潜台词:想想吧,连先生都叫了,傻子都知道下面该如何。
4、深夜,男送女至楼下。
即将告别时,男贴近女面孔:“我可以上去喝杯咖啡吗?”
潜台词:你以为,他真的喝完咖啡就走吗?
5、深夜,男送女至楼下。
即将告别时,女含情脉脉一笑,似乎随意地说:“要不要上来坐坐?”
潜台词:这男的要是真的坐坐就走,后面的事儿可就难说了。听过那么个故事吧——
“你为什么挨打?因为没得到允许就吻了她?”
“不,是因为得到允许却没吻她。”
6、网友初次通电话。
女激动而诚挚地说:为什么你的声音和我多年前的男朋友一样?
潜台词:其实我至今为止都还很想念他,当然,换个人也没什么关系。
7、一番试探性〈!-->交往之后,男人邀请晚饭。
女:我,不能答应跟你一起出去,我怕自己把持不住。
潜台词:你不觉得一个把持不住的女人很有吸引力吗?
......
mm口误(2005-10-09 20:07:00)
摘要:1.刚才办公室MM问我为什么另一个MM能玩的游戏 在她的机器上要S机。答曰,可能显卡驱动不行。 MM遂要求帮助下载最新版,并安装。答曰,我有 什么好处。MM说:“最多我让你玩一会儿好了”。 0.01秒后,桌子上、椅子上全看不到人了,除了那个MM....(搞不清楚为什么大家都到地上找笔去了)。
2. 高中班里有个女生姓焦,一日和她打个赌,什么赌忘了,她问:你输了怎么办?答曰:我输了我跟你姓焦。声音洪亮,结果全班暴笑10分钟……
3. 一次一个女同事过来对我说:我要上传!(我的电脑是公司负责网页更新上传的)我说:你上床关我什么事情!她很恼火的说:我就是要上传,我要,我要,你今天不让我上传,我就不理你了,哼!看她那愤怒的样子,我只好说:好吧!是你自己动手还是我帮你?”她回答:“你帮我吧!”……
4. 一日,学校大扫除。一PLMM擦窗。因为窗户比较高。所以站在桌子上。但是下面的玻璃又擦不到。 偶经过,MM大喊““擦”我下面”。偶大惊。问那里?MM曰“我下面啊,你帮我擦一下” 全班爆笑……MM和偶面红……
5.以前在学校班里分组作模型。我做组长有天我拿着一张图纸去问同组一个MM,她什么时候可以把那个零件做出来。MM大概是忙于拍拖吧,近来很少在工场出现。两个手板一摊,对我说:我也想给你做的。问题我没那么多时间。看今天晚上我可不可以给你做吧。旁边两男生哐地扔下手中的锉子,捂着嘴冲出工场……
6.偶部门有个plmm,一次偶要带她作实验,约好下班后做试验……偶下午上网忘了,快下班时突然接到mm一个电话(我忙着跟网友聊天,就用免提):到底做不做?偶当时一脸茫然,心砰砰中 ……问了一句:做什么啊? mm大声道:就是做那个拉, 快点……人家很急呢!一霎那,皆静,然后狂笑……
7.我对我旁边的女生甲说:“昨天我去做了,好痛呢,还流了血……那个人一点也不温柔,一下子就把那儿戳穿了,痛死我了。” 女生甲:“你就是不知道呢,就是越快越不痛呢,我去年去那个的时候也是酱子的啦。” 女生乙:“哇,听你们说得很KB呢,我本来想今天下午就去做的,但是听你们这么说都有点不敢了。” 我:“唉……你还是不要紧张,放松一点点,就那一下子,过了就好,以后也就方便了……”之后发现周围围了很多男生听得很高兴……(其实我们是去穿耳洞)
8.大学时金工实习,指导老师......