CPU的RS485通信口提供了建立在串行通信基础上的“自由”通信能力,数据传输协议完全由用户程序决定。通过自由口方式,S7-200可以与串行打印 机、条码阅读器等通信。而S7-200的编程软件也提供了一些通信协议库,如USS协议库和MODBUS RTU从站协议库,它们实际上也使用了自由口通信功能。
西门子S7-200系列PLC支持自由口通信协议。所谓自由口协议是指通过用户程序控制CPU主机的通信端口的操作模式来进行通信。用这种自由口模式可以用自定义的通信协议连接多种智能设备。自由口模式支持ASCII和二进制协议。
在自由口模式下,主机处于RUN方式时,用户可以用相关的通信指令所编写的程序控SMC EEA-PAM-535-A-32制通信口的操作。当主机处于STOP方式时,自由口通信被终止,通信口自动切换到正常的PPI协议操作。
SMC EEA-PAM-535-A-32自由口通信指令包括: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的通讯软件可以看见通讯过程中的数据,能够更方便的调试程序
Square D ATV66D46N4U 模块
Square D AF2516GBBCM 齿轮减速器
Sew Eurodrive KA87TDT100 齿轮减速器
Siemens西门子 300kVA 变压器
Beck Actuator 11-309-117920-03-01模块
Beck Actuator 11-307-120818-01贝克驱动器
Square D 8839 40 HP马达控制器
GE 3640BET2开关
Beck Actuator 11-307-078354-01 驱动器
GE AKR-7D-30S 空气断路器
Mitsubishi 三菱 A3ACPUR21模块
AB 22C-D072A103 模块
Graham 2001H65 交流电机
Square D NCL361200 模块
Hudson 220V 3P ATMS108 模块
MGM 300kVA 480/208Y/120变压器