一个功能块搞定罗克韦尔跟西门子的通讯
此功能块适用于AB罗克韦尔PLC的Studio5000编程,通过调用此功能块实现用S7协议与西门子PLC通讯,此功能块的作用类似高级语言的Dll库文件。
调用此功能块后,AB PLC和siemens PLC 之间将不再需要网关,仅需交换机将两个PLC的以太网连接起来即可,两个PLC需处于同一网段,互相之间可以ping连接。
此S7Dll功能块基于标准以太网,属于ISO/TCP IP模型中的应用层,故数据优先级低于profinet,与modbus tcp属于同一级别,当网络拥堵时,实时性不及profinet,等于modbus tcp
管脚说明:
Para | 功能块需要的参数 |
Create | 创建连接实例 |
OpenConn | 打开连接实例 |
Send | 发送数据实例 |
Receive | 接收数据实例 |
DelMsg | 删除连接实例 |
IP | 西门子PLC的以太网地址 |
RWStart | 开始通讯 |
RDBStr | 需要读DB地址,格式:DB3.10 其中DB3表示西门子PLC内部DB块的号码,10表示从DB3的偏移地址10.0开始 |
RDataLen | 要读取的数据长度,以byte为单位 |
RDataBytes | 收到的数据,byte数组 |
WriteCMD | 向西门子PLC写数据。当通讯开始后,功能块S7DLL就持续的读西门子PLC数据,只有写数据脉冲进来时才写一次数据。写数据的优先级高于读数据,如果写数据的脉冲频率很高,将造成功能块S7DLL没有机会读取数据,不能刷新读数据,如果需要持续高频写入可用ReadDone触发此信号 |
WDBStr | 需要读DB地址,格式:DB3.20 其中DB3表示西门子PLC内部DB块的号码,20表示从DB3的偏移地址20.0开始 |
WDataBytes | 需要写的数据,byte数组 |
WDataLen | 要写的数据长度,以byte为单位 |
Circuilttime | 程序显示读取一次数据的时间ms |
NetConnected | 网络连接状态 |
DataConnected | 数据连接状态 |
ReadDone | 读数据完成脉冲 |
WriteDone | 写数据完成脉冲 |
Error | 错误状态 |