切换为设备视图,
- 在右侧的硬件目录列表中根据通讯字节数,选择一种配置(只能添加一组),本例选择8字节入/8字节出的方式
- 添加至EM277空槽内
- 设置S7-200V区偏移量地址(如果使用的S7-200通信区域不从VB0开始,则需要设置地址偏移,修改数值0为实际使用的数值即可)
此例中:VB0-VB7是S7-300写到S7-200的数据,VB8-VB15是S7-300从S7-200读取的值。
图13 通讯区域组态组态完,编译程序下载到S7-300的PLC当中。 在S7-200侧断电的情况下,将EM277 的拨位开关拨到与S7-300侧硬件组态的设定值一致。 在S7-200中编写程序将进行交换的数据存放在VB0-VB7,VB8-VB15,分别S7-300的QB0-QB7和IB0-IB7,打开 TIA中的监控STEP7 MicroWin的状态表进行监控。
常见问题:
通信指示灯都正常,但数据读取不到?
如果组态的io地址较大,则可能超过了300CPU默认的过程映像区。此时将IB,IW改为PIB,PIW读取。
DP通信所需要传输的数据超过64字节怎么办?
方法1:软件里固定的通讯长度最大64bytes out/64 bytes in, 可以选择图中的“通用模块”根据实际需求自由设置输入/输出区域,而EM277 最大的通讯字节数是64 word out/64 word in。
方法2:分时通讯。以64字节通信区为例,若超过最大配置。那么可以将通信区的第一个字节作为标志位,这样需要在S7-200中分时或条件判断,将数据放置或读取通信区域。同理,在S7-300中也需要判断标志位。
方法3:满足扩展要求的前提下,同一个200PLC可以扩展多个EM277,具体可以参考本文中最大I/O扩展能力的要求,那么在同一个S7-300的项目里可以组态多个PROFIBUS从站。
方法2可以增大通信的数据量,但由于通过标志位来分时分次传输的,所以通信数据的刷新会比方法3慢;方法3通过扩展DP从站或者200PLC的通信端口来实现数据扩展的,但增加了成本,且需要考虑是否满足扩展要求。