台州SIEMENS/中国总代理/西门子中国总代理
| 更新时间 2024-11-20 10:00:00 价格 请来电询价 西门子 PLC 联系手机 18201996087 联系人 黄章科 立即询价 |
PLC以卓越的可靠性和方便的可编程性广泛应用于工业控制领域。实现PC机与PLC通信的目的是为了向用户提供诸如工艺流程图显示、动态数据画面显示、报表显示、窗口技术等多种功能,为PLC提供良好的人机界面。本文详细介绍了FX系列PLC的通信协议,并在Windows环境下,使用VB6.0开发通信程序,实现了PC机与FX系列PLC之间的串行通信。
2 PC机与PLC实现通信的条件
带异步通信适配器的PC机与PLC只有满足如下条件,才能互联通信:
(1)带有异步通信接口的PLC才能与带异步通信适配器的PC机互联。还要求双方采用的总线标准一致,否则要通过“总线标准变换单元”变换之后才能互联。
(2)双方的初始化,使波特率、数据位数、停止位数、奇偶校验都相同。
(3)要对PLC的通信协议分析清楚,严格地按照协议的规定及帧格式编写PC机的通信程序。PLC中配有通信机制,一般不需用户编程。
3 PC机及与FX系列PLC的串行通讯
3.1 硬件连接
PC机与FX系列PLC不能直接连接,要经过FX-232AW单元进行RS232C/RS-422的变换,下图表示了它们之间的连接关系:
6ES7 307-1BA01-0AA0 | 电源模块(2A) |
6ES7 307-1EA01-0AA0 | 电源模块(5A) |
6ES7 307-1KA02-0AA0 | 电源模块(10A) |
CPU | |
6ES7 312-1AE13-0AB0 | CPU312,32K内存 |
6ES7 312-1AE14-0AB0 | |
6ES7 312-5BE03-0AB0 | |
6ES7312-5BF04-0AB0 | CPU312C,32K内存 10DI/6DO |
6ES7 313-5BF03-0AB0 | |
6ES7313-5BG04-0AB0 | CPU313C,64K内存 24DI/16DO / 4AI/2AO |
6ES7 313-6BF03-0AB0 | |
6ES7313-6BG04-0AB0 | CPU313C-2PTP,64K内存 16DI/16DO |
6ES7 313-6CF03-0AB0 | |
6ES7313-6CG04-0AB0 | CPU313C-2DP,64K内存 16DI/16DO |
6ES7 313-6CF03-0AM0 | CPU313C-2DP,64K内存 16DI/16DO组合件(6ES7 313-6CF03-0AB0+6ES7 392-1AM00-0AA0) |
6ES7 314-1AG13-0AB0 | CPU314,96K内存 |
6ES7 314-1AG14-0AB0 | CPU314,128K内存 |
6ES7 314-6BG03-0AB0 | |
6ES7314-6BH04-0AB0 | CPU314C-2PTP 96K内存 24DI/16DO / 4AI/2AO |
6ES7 314-6CG03-0AB0 | |
6ES7314-6CH04-0AB0 | CPU314C-2DP 96K内存 24DI/16DO / 4AI/2AO |
6ES7 314-6EH04-0AB0 | CPU314C-2PN/DP 192K内存/24DI/16DO/ 4AI/2AO |
6ES7 314-6CG03-9AM0 | CPU314C-2DP 96K内存 24DI/16DO / 4AI/2AO组合件(6ES7 314-6CG03-0AB0+6ES7 392-1AM00-0AA0*2) |
6ES7 315-2AG10-0AB0 | CPU315-2DP, 128K内存 |
6ES7 315-2AH14-0AB0 | CPU315-2DP, 256K内存 |
6ES7 315-2EH13-0AB0 | |
6ES7315-2EH14-0AB0 | CPU315-2 PN/DP, 256K内存 |
6ES7 317-2AJ10-0AB0 | |
6ES7317-2AK14-0AB0 | CPU317-2DP,512K内存 |
PLC根据PC机的命令,在每个循环扫描结束处的END语句后组织自动应答,无需用户在PLC一方编写程序。
4 利用VB6.0编写通信程序
下面以一个简单的例子来说明编写通信程序的要点。假设PC机要求从PLC中读入从D123开始的4个字节的数据(D123,D124),其传输应答过程及报文如下(图略可向作者索取):
命令报文中10F6H为D123的地址,04H表示要读入4个字节的数据。校验和SUM=30H+31H+30H+46H+36H+30H+34H+
03H=174H,溢出部分不计,故SUMH为'7',SUML为‘4’,相应的ASCII码为“37H”,“34H”。应答报文中4个字节的十六进制数,其相应的ASCII码为8个字节,故应答报文长度为12个字节。
根据PC机与FX系列PLC的传输应答过程编制出如下所示的通信程序流程图略。
利用VB的MSComm控件,按照流程图可以编写如下通信程序实现PC机与FX系列PLC之间的串行通信以完成数据的读取。MSComm控件可以采用轮询或事件驱动的方法从端口获取数据。在这个例子中使用了轮询方法。
(1)通信口初始化
Private Sub Initialize()
MSComm1.CommPort = 1
MSComm1.Settings = ″9600,E,7,1