在工业生产中,人们常常面临着数据采集与管理。作为工厂自动化的三大支柱可编程控制器 PLC(Programmable Logic Controller),由于其安全可靠,广泛的用于数据采集与控制。生产过程中,要监视PLC内部的数据与运行状况,选用市场上的人机界面或组态软件,虽然功能丰富,但大都价格昂贵,在一些中小规模的生产场合,人们希望能自己用高级语言开发一个简易实用的通信程序。使用Visual Basic 6.0,开发串行通信程序时,有两种方法,一种是用Windows API函数,另一种是用VB支持的通信控件 MSCOMM。以下介绍使用通信控件方式实现通讯
1.硬件 WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
采用SC-09编程电缆,连接PC串口与PLC编程口实现通讯。 WWW_PLCJS_COM-PLC-技.术_网
2.PLC编程口的通信协议简介 W1WW_P4LCJS_COM-PLC-技.术_网
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) 通信格式:WWW_PLCJS_COM-PLC-技.术_网 WWW_PLCJS@_COM%-PLC-技.术_网 波特率9600,偶校验,8位数据位,一位停止位。 具体请参考有关资料,以下举例说明其通讯格式
WWW_P※LCJS_CO※M-PLC-技-.术_网
1)、DEVICE READ(读出软设备状态值) P.L.C.技.术.网——可编程控制器技术门户
计算机向PLC发送:WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
WWcW_PLCJS_COM-PLC-技.术_网 3.具体程序说明 ——可——编——程——控-制-器-技——术——门——户
MSComm控件简介用来提供简单的串行端口通信功能,也可以用来创建功能完备、事件驱动的高级通信工具。Mscomm控件提供了一系列标准通信命令的使用界面。使用它可以建立与串行端口的连接,通过串行端口再连接到其它设备(如调制解调器、PLC),发出命令,交换数据,以及监视和响应串行连接中发生的事件和错误。 WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
数据读与写采用函数input和output——可——编——程——控-制-器-技——术——门——户
WWW_PLC※JS_COM-PmLC-技.术_网 (1)窗口加载程序WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) Private Sub Form_Load() WW.W_PLC※JS_C,OM-PL,C-技.术_网 MSComm1.CommPort = 1 ‘选择COM1口 WWW_P※LCJS_COM-PLC-)技.术_网 MSComm1.Settings = "9600,e,7,1" WWW_PLC※JS_COM-PmLC-技.术_网 If mscomm1.portopen=false then mscomm1.portopen=trueWWcW_PLCJS_COM-PLC-技.术_网 End SubWWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户) (2)数据读取子程序:WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
WWW_PLCJS@_COM%-PLC-技.术_网 Public Function GetData(ByVal StartAddress As String, ByVal GetBytes As Integer, ByVal Hex_Bytes As String) As String WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) MSComm1.InputLen = GetBytes * 2 4 WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) MSComm1.Output = STX CMD_Read StartAddress Hex_Bytes ETX GetSumChk(CMD_Read StartAddress Hex_Bytes ETX) WW.W_PLCJS_COM-PLC-技.术_网 ‘传送数据组成:起始符 命令 首地址 数据位 结束符 和检验码 WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户) GetData = MSComm1.Input ——可——编——程——控-制-器-技——术——门——户 MSComm1.InBufferCount = 0 WW.W_PLCJS_COM-PLC-技.术_网 MSComm1.InputLen = 0WWW.PLCJS.COM——可编程控制器技术门户 End Function WWW_PL※CJS_COM-PLC-技.术_网
|