1.示例系统的体系结构 图 0
本例中选用 S7-300 CPU 314C-PtP 作为 RS485 USS 串行通讯主站,连接一个MM440 变频器。连接多个 MM440 时与之相同。 2.软件版本描述 需要软件 STEP 7 V5.2 以上 PtP Param Drive ES SIMATIC for Function Block Library DRVUSSS7(含手册)
需要硬件 1:S7-300 CPU 314C-2PtP 2:MM440 3。串口通讯连接图 S7-300PtP MM440 PIN 4 ……………………… … . PIN 30 PIN 11…………………… … … PIN 29
4.组态 4.1 组态MM440 USS 通讯参数 P003=3 访问级 P700=5 通讯源,从USS 通讯接口 P1000=5 频率设定点数据源,从USS 通讯接口 P2010=6 波特率为9.6K (7 为19.2K, 8 为38.4K) P2011=1 USS 站号 P2012=4 USS PZD 长度 P2013=4 USS PKW 长度 P2014=1000 监控时间 4.2 组态S7-300PtP 串口通讯参数 图 1
5 plc 编程 5.1 拷贝 DRVUSSS7 库程序到应用程序中 图 2
在本例中,站号为 1,PZD 和 PKW 为 4,在 OB100 初始化程序中修改相应程序: 图 3
读写多个站时必须使 PKW 和 PZD 数量相同且站号连续。DB50,100 任选,DB10 用于串口通讯块。这些数据块在启动CPU 时自动生成,不用在程序中新建。 5.2 注意在 FC30 中块调用的顺序(请参考 Drive ES SIMATIC DRVUSSS7 手册) FC21(USS 发送)– SFB60(串口发送)- FC22(USS 接收)- SFB61 (串口接收) DB100 中的请求数据通过 DB50 来协调,指向 DB10 中,用 SFB60 发送出去;SFB61 用DB10作为接收区,通过 DB50 来协调,后按站排序放在 DB100 中。所以用户关心的数据都放在 DB100 中。 5.3 DB100 中数据存储的规则(请参考 Drive ES SIMATIC DRVUSSS7 手册) 每一个站占用的数据为 2X(PKW+PZD)+PKW+6 字 在本例中,PKW 和PZD 为4,所占用数据的字为26 个字
图 4
图4 中 PZD 为16,PKW 为4。 在本例中PKW 发送区为DB100.DBW22~28,PZD 发送区为DB100.DBW30~36,PKW接收区为DB100.DBW38~44,PZD 接收区为DB100.DBW46~52 (n 为2)。后续站数据结构与之相同,每个站占用26 个字。PKW 数据发送时,要置位通讯控制KSTW 位一次,在本例中为DB100.DBX3.0,然后被程序复位。 6 数据传送规则 对 PKW 区数据的访问是同步通讯,即发一条信息,得到返回值后才能发第二条信息。PKW 一般为 4 个字。 1,读写 0002~1999 的参数。 如:读 P0700, 700(DEC)=2BC(HEX) PLC PKW 输出=12BC,0000,0000,0000 1 表示读请求 PLC PKW 输入=12BC,0000,0000,0006 返回 1 表示单字长,值为 0006(HEX) 如:读 P1082, 1082(DEC)=43A(HEX) PLC PKW 输出=143A,0000,0000,0000 1 表示读请求 PLC PKW 输入=243A,0000,4248,0000 返回 2 表示双字长,值为42480000(HEX)=50.0(REAL) 如:写 P1082, 1082(DEC)=43A(HEX) PLC PKW 输出=343A,0000,41F0,0000 3 表示写双字请求,值为 41F00000(HEX)=30.0(REAL) PLC PKW 输入=243A,0000,41F0,0000 返回 2 表示双字长,确认修改完毕。 2,读写 2000~3999 的参数。 如:读 P2010, 10(DEC)=A(HEX) (10=2010-2000) PLC PKW 输出=100A,8001,0000,0000 1 表示读请求, 01 表示参数下标为 1 8 表示参数号码相差 2000 PLC PKW 输入=100A,8001,0000,0006 返回 1 表示单字长,值为 0006(HEX) 传送命令参考 MM440 手册。 3,PZD 参数为异步读写。 PLC 输出,个字为控制字,第二个字为主设定值。(缺省) PLC 输入,个字为状态字,第二个字为运行反馈值。(缺省) |