发布时间:2004-03-30 11:15:00
引言
通讯程序设计在自动化系统的应用越来越广泛,例如 PLC 与操作界面的数据交换、通过通讯对变频器的控制、PLC 的连网等等。要想实现 PLC 的通讯编程,首先所选的 PLC 必须有强大的通讯能力,就是说 PLC 的操作系统能够支持多种通讯格式。
PLC 通讯能力
通常一种品牌的 PLC 如果能够提供给用户更多的编程自由度,那么这种品牌的技术开发能力就越强大。大多数品牌只能提供固定格式的通讯格式或协议,这就大大局限了 PLC 与其他智能设备的数据交换。
我们的 PLC 产品具有 RS232 和光电隔离的 RS485 两个自由通讯口,两个通讯口可以同时收发数据,几乎可以适应所有通讯格式,可以提供 CRC 和 BCC 等多种校验方式。
PLC 通讯编程示例
以一台 PLC 通过 485 通讯控制多个某品牌的变频器为例:如果该变频器的波特率是 9600b/s,8 个数据位,奇校验,1 个停止位。那么首先必须在 PLC 的嵌入 C 窗口的初始化代码区编程一个通讯口设置语句:
Set485Port(9600, o, 8, 1);
仅仅一个语句就完成了对 485 通讯口的编程。由于 485 通讯必须设定主从关系,这里是 PLC 控制多台变频器,所以 PLC 必须设置为主,因此还需在初始化代码区增加一个地址和主从设定语句:
SetAddress(1, MASTER);
事实上,对于主控制器来说,地址已经失去意义。
数据发送
通讯口已经设置完毕,下面就是如何根据要求将数据发送给变频器。例如一组 8 字节控制数据如下所示:
- 01h---->变频器编号
- 03h---->命令
- 21h---->两字节参数地址
- 02h00h---->两字节参数
- 02hCRC--->两字节 CRC 校验马 CRC
PLC 程序:
Set485TBAddPointer(0);
AddNumberTo485TB(0x1);
AddNumberTo485TB(0x3);
AddNumberTo485TB(0x21);
AddNumberTo485TB(0x2);
AddNumberTo485TB(0x0);
AddNumberTo485TB(0x2);
AddCRCTo485TB();
Start485Transmit();
另外公司的《通讯编程》资料 pdf 电子文当以通俗易懂的生活事例对 PLC 的通讯原理进行了讲解,如果有需要的朋友可以回复索取。
楼主:振华
本文原创来源:电气TV网,欢迎收藏本网址,收藏不迷路哦!
添加新评论