上面的USS_DRV‘s其实只是即时的组态每一个驱动的报文;并没有真正和模块通讯!
下面
“组态”和RS485模块的通讯。
这里先说一下USS通讯:应该注意到这是异步的、总线方式的通讯。总线上,每次只能和一个驱动交换数据,等待驱动的响应。一条报文的交换时间就“很长”。所以CPU只需要定时和485模块“打交道”就可以了。
先看一个表格:

摘自《S7-1200系统手册》
因为我选用19200速率。选个80mS启动一次RS485模块与某一驱动装置交换一次报文就够了。
为此,添加个新块。选OB组织块中的循环中断Cyclic_interrupt。扫描时间设定80mS。如下图:

按确认后,在打开的循环中断中,拖入一个USS_PORT指令图标:
1、输入端口PORT选硬件组态的485模块号
2、输入端口USS_DB选上面建好的USS_DRV_DB。

在左侧PLC变量表中新加一个变量表。建几个PORT端口用的变量(注意数据类型)。如下图
然后把它们拖到对应的端口。

这里要说明一下:因为网络、驱动装置未在线、出错时,需要看到是哪个。要把USS_DRV_DB中的扩展信息提出来。所以在USS_PORT调用后,读取USS_Extended_Error。
至此,循环中断就写完了