CPU的RS485通信口提供了建立在串行通信基础上的“自由”通信能力,数据传输协议完全由用户程序决定。通过自由口方式,S7-200可以与串行打印 机、条码阅读器等通信。而S7-200的编程软件也提供了一些通信协议库,如USS协议库和MODBUS RTU从站协议库,它们实际上也使用了自由口通信功能。
西门子S7-200系列PLC支持自由口通信协议。所谓自由口协议是指通过用户程序控制CPU主机的通信端口的操作模式来进行通信。用这种自由口模式可以用自定义的通信协议连接多种智能设备。自由口模式支持ASCII和二进制协议。
在自由口模式下,主机处于RUN方式时,用户可以用相关的通信指令所编写的程序控制通信口的操作。当主机处于STOP方式时,自由口通信被终止,通信口自动切换到SMC AR20-02B-X465A正常的PPI协议操作。
SMC AR20-02B-X465A自由口通信指令包括:XMT,自由口发送指令;RCV,自由口接受指令。用特殊标志寄存器SMB30(端口0)和SMB130(端口1)的各个位设置自由口模式,0592-5361136并配置自由口通信参数,如波特率、奇偶效验和数据位。
发送指令(XMT)和发送中断:发送指令允许S7-200的通信口上发送最多255个字节,发送中断通知程序发送完成。
接受字符中断:接受字符中断通知程序通信口上接受到了一个字符,应用程序就可以根据所用的协议对该字符进行相关的操作。
接受指令(RCV):接受指令从通信口接收到整条信息,当接收完成后产生中断通知应用程序。需要在SM存储器中定义条件来控制接收指令开始和停止接受信息。接受指令可以根据特定的字符或时间间隔来启动和停止接受信息。接受指令可以实现多数通信协议。
自由口通信功能的用途:
1. 通过RS-232或RS-485串口连接多种智能仪表或RTU,根据智能仪表或RTU定义的通信协议编写用户程序与智能仪表或RTU通信。
2. 使用USS协议与西门子MicroMaster系列变频器通信,STEP7-Micro/WIN提供USS协议库,S7-200 CPU是主站,变频器是从站。
3. 创建用户程序来模拟另外一种网络上的从站器件。例如S7-200的用户程序模仿一个Modbus从站。STEP7-Micro/WIN提供Modbus协议库。
4. 采用自定义通信协议与PC通信。PC上的应用软件可以采用此方法方便的访问S7-200的数据。这是第三方软件访问S7-200PLC比较简便,廉价的方法。
对于自由口通讯,西门子的很多资料都做了比较详细的介绍,其中还包含了大量的例子程序。由于通讯的不可见性,很多人还是不能很好的掌握,我建议大家:
1、理解什么是通讯、什么是串口、什么是232、什么是485?没有过硬的硬件知识是不可能做出通讯的,你连线都不知道怎么接,怎么调试你的程序?
2、仔细阅读西门子关于通讯的资料,不需要多只需要精,因为各种版本的资料基本是一样的,关键就是SMB30、SMB86、87、88、89、SMW90、92、SMB94自己控制通讯过程需要SMB2,把这些弄明白了,才有可能做出通讯程序
3、使用PC的通讯软件协助调试,有了PC的通讯软件可以看见通讯过程中的数据,能够更方便的调试程序
Westinghouse 西屋 DS-632 DS632 3200模块
GE AKR-6D-50 1600 空气断路器
Westinghouse DS-632 DS632 3200集成电路
Saftronics GP10E9ST34040B 交流传动器
Square D I-Line LX LXI36500模块
Square D PJA36080 模块
Cutler Hammer Breaker ND312T32W锤断路器
Westinghouse 西屋 HND3800T107W电源
Cutler Hammer P3F365RN锤可熔电闸
Klockner-Moeller NZM12-800 模块
Toshiba Motor 200 HP 1770 电机
Siemens-Allis LA-3000A 空气断路器
Siemens西门子 HRXD63B200 开关
Cutler Hammer HND312T32W模块
Reliance Electric 瑞恩 2GU41075电机
Square D I-Line 225 Amp 600 V开关
ITE Siemens西门子 CP3L160 断路器
Allis-Chalmers LA-3000A A空气断路器
Square D I-Line NX NX361200 模块
Westinghouse 西屋 HND3800T32W 模块
GE TCYY7625E1C 2500 电力开关
Reliance Electric瑞恩 S-D4007-E模块
ABB S6H S6H800EW 断路器
Schneider 施耐德 NW12L 1200 A 模块