uss通讯程序怎么写( 二 )


5. 终端电阻的作用是用来防止信号反射的,并不用来抗干扰 。如果在通讯距离很近,波特率较低或点对点的通讯的情况下,可不用终端电阻 。
多点通讯的情况下,一般也只需在USS 主站上加终端电阻就可以取得较好的通讯效果 。6. 当使用交流型的CPU22X 和单相变频器进行USS 通讯时,CPU22X 和变频器的电源必须接成同相位的 。
7. 建议使用CPU226(或CPU224+EM277)来调试USS 通讯程序 。8. 不要带电插拔USS 通讯电缆,尤其是正在通讯过程中,这样极易损坏传动装置和PLC 的通讯端口 。
如果使用大功传动装置,即使传动装置掉电后,也要等几分钟,让电容放电后,再去插拔通讯电缆 。USS 通讯的编程 USS 协议是以字符信息为基本单元的协议,而CPU22X 的自由口通讯功能和CPU31XC-PTP 的RS422/485 串行口正好也是以ASCII 码的形式来发送接收信息的 。
利用这些CPU 的RS485 串行口的通讯功能,由用户程序完成USS 协议功能,可实现与SIEMENS 传动装置简单而可靠的通讯连接 。1. USS 点对点通讯的编程要点: a) USS 主站(PLC)与USS 从站(传动装置)之间的通讯是异步方式的,负责与传动装置通讯的工作程序应采用后台工作方式,如何发送接收数据应与控制逻辑无关 。
用户程序通过改变USS 报文中的STW 及HSW 的值,来控制变频器的启停及改变设定频率值 。b) 利用发送指令(如XMT,P_SEND,P_SND_RK)发送USS 报文至传动装置,利用接收指令(如RCV,P_RCV,P_RCV_RK)接收变频器返回的USS 报文 。
同一时刻,只能有一个发送指令或接收指令被激活 。c) USS 通讯程序包括通讯端口初始化子程序、BCC 校验码计算子程序、数据发送子程序、数据接收子程序、通讯超时响应子程序、通讯流程控制子程序等 。
可采用中断响应的方式,也可用查询相应标志位的方式来实现 。d) 设立发送接收数据缓存区与映像区,用户应通过改变映像区的USS 发送报文值来控制传动装置,或通过读取映像区USS 接收报文中的状态值来判断传动装置的当前状态 。
以防止因干扰而接收到错误数据而使PLC 做出错误的判断和控制 2. USS 多点通讯的编程要点 a) 控制通讯的基本流程同上述点对点通讯方式 b) 对各从站的控制应采取轮询方式,轮询程序同样也是后台工作方式工作的 。c) 根据对各台传动装置控制任务的轻重,在PLC 数据区内建立一个从站地址表,按该地址表轮询各传动装置 。
采用间接寻址的编程方式,可大大节省CPU 的程序空间 。d) 轮询地址表示例虽然,USS 协议的实际物理地址只有30 个,但轮询地址表的大小无限制,其有效站地址可以在表中根据实际应用需要反复出现 。
实际轮询站点数越多,其轮询的间隔时间也越大,而表中站地址重复次数越多,其轮询的间隔时间越小,因此必须为每个传动装置设定适当的通讯超时时间以适应这种轮询间隔 。e) 不同USS 从站可以有不同的USS 报文结构,如3 PKW + 2 PZD;4 PKW + 4 PZD;0 PKW + 6 PZD 等组合 。
但整个系统要支持广播方式,则USS 网络中的所有从站都必须有相同的PKW 区才行 。f) 传动装置对以广播方式发送的指令做出响应后,不再回送报文,因此PLC可以不再进入数据接收状态 。
【uss通讯程序怎么写】

uss通讯程序怎么写

文章插图