关于VB与OMRON PLC 的通信-1
在工控论坛里看到有人提出如何用VB和OMRON-PLC 通信的问题,刚工作的时候也收集过这方面的资料,并编过一个试验程序,由于VB控制程序在工作中使用不多,也没深入的去研究,只讲些基础的东西吧。
在工业控制中一般采用RS485转换接口和工控机控制。在使用工控机时使用组态软件可以很方便的进行PLC控制,只是在一些特殊的组态软件无法实现的情况下使用VB编程控制。所以对于VB编程控制PLC我只是做过实验程序,没有在实际工业控制产品中应用过,如果要在实际产品中应用VB编程更多的应该是考虑在工业环境中系统的安全性,稳定性,异常情况处理等。
工业控制中最重要的是安全性和稳定性,在实际应用时程序的异常处理,操作检测处理等必不可少,尤其是在RS232通信中,上位机程序最好只是做监视,不直接参与控制,因为工业环境的影响,RS232通信不是很可靠,尤其在长距离无屏蔽的高速通信时。由于普通计算机操作系统的分时控制机制,需要高速处理时不能由VB的程序去控制PLC。所以用VB程序做直接控制的话可能会使整个控制系统的稳定性下降,如程序里没做处理还可能造成安全事故。
VB不做直接控制只做监视在工业控制里也用得不多,因为VB程序在WINDOWS系统下使用,而工业环境里一般使用专用的显示屏和触摸屏,有专用的操作系统,无法使用VB程序。而使用工控机的话用组态软件编程方便多了。
VB程序做为调试工具也用得不多,因为有专业的PLC编程软件。
由于VB的编程特点,使用VB和PLC通信可以做出个性化的PLC状态监视画面,也可以做PLC的程序密码破解,还可以使用使用VB和PLC上位通信的写入程序指令(WP)编PLC控制程序的软件升级包,可以编成只要连上数据线,打开升级程序可以自动检测控制程序的版本等信息,自动升级程序。这样PLC控制程序升级或改进时不用背着笔记本去对方工厂现场编程,只要把升级包制作好EMAIL给对方公司让对方设备管理人员执行下升级包就行了,提高工作效率。
如需源程序留EMAIL地址.
一,相关知识:VB的Mscomm控件,OMRON-PLC的上位连接命令。
二,程序说明
详细程序查看后页.
这只是一个实验程序,实现了通过COM口通信改变PLC的工作状态,置位继电器,读写数据区内存。在程序里改变PLC命令码就可实现全部的PLC上位机通讯。
1, 上位连接命令格式
http://cuiminfeng.bokee.com/inc/omron-plc-vb-bmp-1.GIF
(132个字符以上的命令须分割成多帧传送,详细方法参照OMPON通信手册)
(OMRON CPM1A 上位通讯指令)
(有关OMRON通信的图片拷贝自OMRON-SYSMAC-CPM1A电子文挡手册)
2, 改变PLC工作状态:通过SC命令改变PLC的工作模式。
改变状态通过SC命令
Private Sub Command2_Click()
定义发送数据字符串
Dim outstring As String
清空MSComm接收缓冲区
MSComm1.InBufferCount = 0
SC命令格式:站号00,命令SC,参数02:监视方式。要改变成编程模式时参数设为00,运行模式参数为03。
outstring = "@" + "00" + "SC" + "02"
调用FCS计算函数计算FCS。
fcdd$ = XORR(outstring)
加上FCS和终端。
outstring = outstring + fcdd$ + "*" + Chr$(13)
MSComm发送数据。
MSComm1.Output = outstring
采用查询方式接收PLC响应数据。
Time_out = tim
Do
If tim > (Time_out + 1) Then
ERROR_COM = True
plcjs.技.术_网