如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
VB与海为PLC通讯源程序讲解作者:厦门海为科技有限公司在做自动化工程项目时常常需要用上位机对PLC进行监控,如果是大的工程项目可以使用组态软件来完成,但对中小项目为了节约成本,可以采用自己写上位机程序来完成对PLC的监控。海为提供了一个海为PLC的通讯控件,通过这个控件实现上位机与海为PLC之间的通讯十分方便,它封装了Modbus通讯协议和HaiwellBus协议,以点的形式实现对海为PLC的数据访问,对每个点可以定义它的名称/数据类型/小数长度/点注释等,不必去了解Modbus通讯协议和HaiwellBus协议的具体内容,只要有上位机编程经验就可以完成。海为PLC的通讯控件和例子源程序可以到海为网站(HYPERLINK"http://www.haiwell.com/download.asp"\t"_blank"http://www.haiwell.com/download.asp)的“下载中心”下载。下面以VB为例介绍该控件的使用,新建一个VB工程,添加2个窗口如下图:窗口1的程序如下:OptionExplicit'启动跑马灯按钮PrivateSubCommand1_Click()'启动跑马灯,M0置1,点序号30HWPLCComm1.HWPLCs(1).SetPointValue30,1EndSub'停止跑马灯按钮PrivateSubCommand2_Click()'停止跑马灯,M1置1,点序号31HWPLCComm1.HWPLCs(1).SetPointValue31,1EndSub'启动采样按钮PrivateSubCommand3_Click()'HWPLCComm1是海为PLC通讯控件名称,Timer1是画面刷新定时器HWPLCComm1.RunNotHWPLCComm1.RunFlagTimer1.Enabled=HWPLCComm1.RunFlagIfHWPLCComm1.RunFlagThenCommand3.Caption="停止采样"Shape2.FillColor=vbGreen‘采样指示灯绿色ElseCommand3.Caption="启动采样"Shape2.FillColor=vbWhite‘采样指示灯红色EndIfEndSub'窗口1装载PrivateSubForm_Load()DimiAsLong'添加1台PLC,PLC地址为1,名称为“1号PLC”HWPLCComm1.HWPLCs.AddPLC1,"1号PLC"'在“1号PLC”下增加采样点Fori=0To15HWPLCComm1.HWPLCs(1).AddPoint"y"&i'增加采样点Y0-Y15Nexti'在“1号PLC”下增加其他离散的采样点HWPLCComm1.HWPLCs(1).AddPoint"sv0",,"当前扫描时间单位0.1ms"HWPLCComm1.HWPLCs(1).AddPoint"sv1",,"最小扫描时间单位0.1ms"HWPLCComm1.HWPLCs(1).AddPoint"sv2",,"最大扫描时间单位0.1ms"HWPLCComm1.HWPLCs(1).AddPoint"sv12","Year","年"HWPLCComm1.HWPLCs(1).AddPoint"sv13","Month","月"HWPLCComm1.HWPLCs(1).AddPoint"sv14","Day","日"HWPLCComm1.HWPLCs(1).AddPoint"sv15","Hour","时"HWPLCComm1.HWPLCs(1).AddPoint"sv16","Minute","分"HWPLCComm1.HWPLCs(1).AddPoint"sv17","Second","秒"HWPLCComm1.HWPLCs(1).AddPoint"sv18","Week","星期"HWPLCComm1.HWPLCs(1).AddPoint"sm3",,"10ms时钟脉冲"HWPLCComm1.HWPLCs(1).AddPoint"sm4",,"100ms时钟脉冲"HWPLCComm1.HWPLCs(1).AddPoint"sm5",,"1s时钟脉冲"HWPLCComm1.HWPLCs(1).AddPoint"m0","Start","跑马灯启动"HWPLCComm1.HWPLCs(1).AddPoint"m1","Stop","跑马灯停止"HWPLCComm1.HWPLCs(1).AddPoint"v0"HWPLCComm1.HWPLCs(1).AddPoint"v2"HWPLCComm1.HWPLCs(1).AddPoint"v100",,"实数例子",[REAL]'实数类型为5HWPLCComm1.HWPLCs(1).A