VB与三菱PLC通讯的实现

发布时间:2023-11-12
在工业生产中,人们常常面临着数据采集与管理。作为工厂自动化的三大支柱可编程控制器 plc(programmable logic controller),由于其安全可靠,广泛的用于数据采集与控制。生产过程中,要监视plc内部的数据与运行状况,选用市场上的人机界面或组态软件,虽然功能丰富,但大都价格昂贵,在一些中小规模的生产场合,人们希望能自己用高级语言开发一个简易实用的通信程序。使用visual basic 6.0,开发串行通信程序时,有两种方法,一种是用windows api函数,另一种是用vb支持的通信控件 mscomm。以下介绍使用通信控件方式实现通讯
1.硬件
采用sc-09编程电缆,连接pc串口与plc编程口实现通讯。
2.plc编程口的通信协议简介
通信格式:
波特率9600,偶校验,8位数据位,一位停止位。 具体请参考有关资料,以下举例说明其通讯格式
1)、device read(读出软设备状态值)
计算机向plc发送:
3.具体程序说明
mscomm控件简介用来提供简单的串行端口通信功能,也可以用来创建功能完备、事件驱动的高级通信工具。mscomm控件提供了一系列标准通信命令的使用界面。使用它可以建立与串行端口的连接,通过串行端口再连接到其它设备(如调制解调器、plc),发出命令,交换数据,以及监视和响应串行连接中发生的事件和错误。
数据读与写采用函数input和output
(1)窗口加载程序
private sub form_load()
mscomm1.commport = 1 ‘选择com1口
mscomm1.settings = 9600,e,7,1
if mscomm1.portopen=false then mscomm1.portopen=true
end sub
(2)数据读取子程序:
public function getdata(byval startaddress as string, byval getbytes as integer, byval hex_bytes as string) as string
mscomm1.inputlen = getbytes * 2 + 4
mscomm1.output = stx + cmd_read + startaddress + hex_bytes + etx + getsumchk(cmd_read + startaddress + hex_bytes + etx)
‘传送数据组成:起始符+命令+首地址+数据位+结束符+和检验码
getdata = mscomm1.input
mscomm1.inbuffercount = 0
mscomm1.inputlen = 0
end function
上一个:基尓霍夫定律及应用
下一个:iphone8手机通话声音小怎么办(苹果8手机通话音量小怎么办)

双网卡如何设置优先级(电脑装两块网卡,如何设置双网卡实现内外网都上)
高华峰发明热风茶叶理条机
微信收款到账怎么提示(微信收款到账语音提醒功能在哪里)
RC-01W20R0FTE,F 0201 20R现货购买,风华0201 20Ω ±1% 1/20W
win7安装宝塔(电脑安装宝塔)
华为平板电脑哪款最好2020款(华为平板电脑哪款性价比高又实惠2020)
电脑怎样修改密码显示的名称(更改电脑的密码)
小米4怎么取消自动开机,怎样关闭小米手机定时开关机功能
新版火车票解读(新版火车票什么时间启用)
地面工程地面空鼓质量问题及控制措施有哪些?