发布日期:2022-10-09 点击率:9 品牌:西门子_Siemens
1.示例系统的体系结构
图0
本例中选用S7-300CPU314C-PtP作为RS485USS串行通讯主站,连接一个MM440变频器。连接多个MM440时与之相同。
2.软件版本描述
需要软件
STEP7V5.2以上
PtPParam
DriveESSIMATICforFunctionBlockLibraryDRVUSSS7(含手册)
需要硬件
1:S7-300CPU314C-2PtP
2:MM440
3。串口通讯连接图
S7-300PtPMM440
PIN4………………………….PIN30
PIN11…………………………PIN29
4.组态
4.1组态MM440USS通讯参数
P003=3访问级
P700=5通讯源,从USS通讯接口
P1000=5频率设定点数据源,从USS通讯接口
P2010=6波特率为9.6K(7为19.2K,8为38.4K)
P2011=1USS站号
P2012=4USSPZD长度
P2013=4USSPKW长度
P2014=1000监控时间
4.2组态S7-300PtP串口通讯参数
图1
5PLC编程
5.1拷贝DRVUSSS7库程序到应用程序中
图2
在本例中,站号为1,PZD和PKW为4,在OB100初始化程序中修改相应程序:
图3
读写多个站时必须使PKW和PZD数量相同且站号连续。DB50,100任选,DB10用于串口通讯块。这些数据块在启动CPU时自动生成,不用在程序中新建。
5.2注意在FC30中块调用的顺序(请参考DriveESSIMATICDRVUSSS7手册)
FC21(USS发送)–SFB60(串口发送)-FC22(USS接收)-SFB61(串口接收)
DB100中的请求数据通过DB50来协调,指向DB10中,用SFB60发送出去;SFB61用DB10作为接收区,通过DB50来协调,最后按站排序放在DB100中。所以用户关心的数据都放在DB100中。
5.3DB100中数据存储的规则(请参考DriveESSIMATICDRVUSSS7手册)
每一个站占用的数据为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)
PLCPKW输出=12BC,0000,0000,00001表示读请求
PLCPKW输入=12BC,0000,0000,0006返回1表示单字长,值为0006(HEX)
如:读P1082,1082(DEC)=43A(HEX)
PLCPKW输出=143A,0000,0000,00001表示读请求
PLCPKW输入=243A,0000,4248,0000返回2表示双字长,值为42480000(HEX)=50.0(REAL)
如:写P1082,1082(DEC)=43A(HEX)
PLCPKW输出=343A,0000,41F0,00003表示写双字请求,值为
41F00000(HEX)=30.0(REAL)
PLCPKW输入=243A,0000,41F0,0000返回2表示双字长,确认修改完毕。
2,读写2000~3999的参数。
如:读P2010,10(DEC)=A(HEx)(10=2010-2000)
PLCPKW输出=100A,8001,0000,00001表示读请求,01表示参数下标为1
8表示参数号码相差2000
PLCPKW输入=100A,8001,0000,0006返回1表示单字长,值为0006(HEX)
传送命令参考MM440手册。
3,PZD参数为异步读写。
PLC输出,第一个字为控制字,第二个字为主设定值。(缺省)
PLC输入,第一个字为状态字,第二个字为运行反馈值。(缺省)
下一篇: PLC、DCS、FCS三大控
上一篇: 索尔维全系列Solef?PV