S7-300 CPU 6ES7318-3EL01-0AB0 株洲代理商 S7-300 CPU 6ES7318-3EL01-0AB0 株洲代理商
SIEMENS长沙奈欧自动化设备有限公司
我公司理西门子全系列产品欢迎
来电 电话:13762110473(微信同步)
长沙奈欧自动化设备有限公司
联系人:刘文秀(销售经理)
商务QQ:1533714462
”信誉,客户至上“是公司成立之初所确立的宗旨,在公司的严格要求和员工们不折不扣地贯彻执行下发展延续至今。“假一罚十”一直是我公司的承诺。
【信誉、诚信交易】【长期销售、】
【称心满意、服务动力】【真诚面对、沟通无限】
我公司长期销售西门子PLC模块6ES7331-7KF02-0AB0 6ES7321-1BL00-0AA0 6ES7322-1BL00-0AA0 6ES7332-5HF00-0AB0 6ES7153-1AA03-0xB0 6XV1830-0EH10电缆 6ES7972-0BA12-0xA0接头 6GK1503-3CB00光纤链路模块 6ES7307-1EA00-0AA0 6ES7953-8LJ30-0AA0内存卡 西门子PLC模块315-2DP 6ES7315-2AH14-0AB0 西门子PLC模块6ES7315-2EH14-0AB0 西门子PLC模块6ES7214-2BD23-0xB8 处理6GK7343-1EX30-0xE0 屏66643-0CD01-1AX1 销售西门子6SN1145-1BA02-0CA2
手机:13762110473
公司地址:长沙市岳麓区天顶街道尖山安置公寓楼702
———————————————————————————————————
【服务、一诺千金】【承诺、客户满意】
24小时西门子PLC销售:13762110473微信同步
西门子总公司-长沙奈欧伺服公司经营西门子全新原装现货PLC;S7-200S7-300 S7-400 S7-1200 屏,变频器,6FC,6SN,S120 G120C V90 V80伺服数控备件:原装进口电机(1LA7、1LG4、1LA9、1LE1),国产电机(1LG0,1LE0)大型电机(1LA8,1LA4,1PQ8)伺服电机(1PH,1PM,1FT,1FK,1FS)西门子全新原装产品‘质保一年。 西门子伺服驱动器现货
长沙奈欧自动化设备有限公司 刘文秀 13762110473
一、 硬件组态
首先搭建一套测试设备,设备的结构图如下:
2套S7-300系统由PS307电源、CPU314C-2DP、CPU314C-2PTP、CP343-1、CP343-1 IT、PC、CP5611、STEP7组成,PLC系统概貌如下图:
如下将向您一步一步展示如何实现2套S7-300之间的以太网通讯:
第一步:打开SIMATIC Manager,根据我们系统的硬件组成,进行系统的硬件组态,如图:
插入2个S7300的站,进行硬件组态:
分别组态2个系统的硬件模块:
设置CP343-1、CP343-IT模块的参数,建立一个以太网,MPI、IP地址:
二、 网络组态
组态完2套系统的硬件模块后,分别进行下载,然后点击Network Configration按钮,打开系统的网络组态窗口NetPro,选中CPU314,如下图:
在窗口的左下部分点击鼠标右键,插入一个新的网络链接,并设定链接类型为ISO-on-TCP connection 或 TCP connection或 UDP connection 或 ISO Transport connection,如下图:
点击OK后,弹出链接属性窗口,使用该窗口的默认值,并根据该对话框右侧信息进行后面程序的块参数设定:
当2套系统之间的链接建立完成后,用鼠标选中图标中的CPU,分别进行下载,这里略去CPU314C-2DP的下载图示:
三、 程序编程
到此为止,系统的硬件组态和网络配置已经完成。下面进行系统的软件编制,在SIMATIC Manager界面中,分别在CPU314C-2PTP、CPU314C-2DP中插入OB35定时中断程序块和数据块DB1,DB2,并在两个OB35中调用FC5(AG_Send)和FC6(AG_Recv)程序块,如下图:
创建DB1、DB2数据块,如下图:
2套控制程序已经编制完成,分别下载到CPU当中,将CPU状态切换至运行状态,就可以实现S7-300之间的以太网通讯了。
如下界面说明了将CPU314C-2DP 的DB1中的数据发送到CPU314C-2PTP 的DB2中的监视界面:
a. 选择Data View,切换到数据监视状态:
b. CPU314C-2DP 的DB1中发送出去的数据:
c. CPU314C-2PTP 的DB2中接收到的数据
1、MM440的DP通讯功能简介
MM440变频器既支持和主站的周期性数据通讯,也支持和主站的非周期性数据通讯,即S7-300可以使用功能块SFC14/SFC15读取和修改MM440参数值,调用一次可以读取或者修改一个参数。同时也可以使用功能块SFC58/SFC59或者SFB52/SFB53读取和修改MM440参数值,一次最多可以读取或者修改39个参数。
2、MM440周期性数据通讯的报文说明
MM440周期性数据通讯报文有效 数据区域由两部分构成,即PKW区(参数识别ID-数值区)和PZD区(过程数据),见表1。PKW区最多占用4个字,即PKE(参数标识符值:占用一个字)、IND(参数的下标:占用一个字)、PWE1和PWE2(参数数值:共占用两个字)。S7-300使用功能块SFC14/SFC15读取和修改参数需要占用4个PKW,即调用一次功能块可以修改一个参数。PKW区的说明见表2。下面分别介绍一下PKW区的四个字。
表1
表2
(1)第一个字PKE:参数识别标识ID,见表3。
表3
参数识别标记ID(PKE)总是一个16位的值,位0~10(PNU)包括所请求的参数号码,位11(SPM)用于参数变更报告的触发位,位12~15(AK)包括任务识别标记ID(见表4)和应答识别标记ID(见表5)。
表4
表5
(2)第二个字IND:参数的下标
完整的参数号码是由基本参数号码和下标(PNU页号)中的位12-15产生,见表6。因为MM440参数号码没有超过4000,所以在读取和修改参数号为2000到3999时位15-12中必须为1。
表6
(3)第三个字PWE1和第四个字PWE2:参数数值,见表7。
总是以双字(32位)来传送参数值(PWE)。在PPO报文中,仅一个参数值能被传送。由PWE1(高位有效字:第三个字)和PWE2(低位有效字:第四个字)组成一个32位参数值。用PWE2(低位有效字:第四个字)传送一个16位参数值,这种情况下,必须在PROFIBUS-DP主站中,设定PWE1(高位有效字:第三个字)为零。
表7
3、MM440非周期性数据通讯的报文说明
MM440支持非周期通讯方式,即扩展的PROFIBUS DP(DPV1)功能,一次最多可以传送240个字节,传输数据块的内容应遵照 PROFIdrive Profile, version 4.0(with data block 47 (DS47))非周期参数通道结构。它包括参数请求和参数应答两部分。
(1)参数请求包括请求标题、参数地址和参数值,见表8。
项目 | 数据类型 | 数值 | 注释 |
请求参考 | 无符号8 位数 | 0x01 … 0xFF | 每一次新的请求主站改变“请求参考“,从站在其应答时镜像“请求参考“ |
请求ID | 无符号8位数 | 0x01 | 读请求 |
0x02 | 写请求 | ||
设备ID | 无符号8位数 | 0x00 … 0xFF | 对于多个驱动单元设定相应设备ID |
参数数量 | 无符号8位数 | 0x01 … 0x27 | No.1…39,对于请求多个参数时的参数数量,=1为请求一个参数 |
属性 | 无符号8位数 | 0x10 | 数值型 |
0x20 | 描述型 | ||
0x30 | 文本型(不可能) | ||
元素数量 | 无符号8位数 | 0x00 | 特定功能 |
0x01 … 0x75 | No. 1 … 117,数组数量 | ||
参数值 | 无符号16位数 | 0x0001 … 0xFFFF | No. 1 … 65535 |
下标 | 无符号16位数 | 0x0001 … 0xFFFF | No. 1 … 65535 |
格式 | 无符号8位数 | 0x02 | 8位整形数 |
0x03 | 16位整形数 | ||
0x04 | 32位整形数 | ||
0x05 | 无符号8位数 | ||
0x06 | 无符号16位数 | ||
0x07 | 无符号32位数 | ||
0x08 | 浮点数 | ||
Other values | 见 PROFIdrive Profile | ||
0x40 | 0 | ||
0x41 | 字节 | ||
0x42 | 字 | ||
0x43 | 双字 | ||
0x44 | 错误 | ||
数值号 | 无符号8位数 | 0x00 … 0xEA | 0..234 |
数值 | 无符号16位数 | 0x0000 … 0x00FF | 读或写的参数值 |
表8
(2)参数应答描述见表9:
错误值 | 含义 | 注释 |
0X00 | 无效的参数号 | 获取不存在的参数 |
0X01 | 参数值不能被改变 | 修改了一个不允许修改的参数 |
0X02 | 超出上下限 | 修改的数值超限 |
0X03 | 无效的下标 | 获取不存在的下标 |
0X04 | 没有数组 | 用下标获取不存在下标的参数 |
0X05 | 数据类型不正确 | |
0X06 | 无效的设定操作(参数只能设定为0) | |
0X07 | 描述的元素不能被修改 | 修改了不能被修改的元素 |
0X09 | 没有描述的数据 | 获取不存在的参数 |
0X0B | 没有操作权限 | |
0X0F | 下一个数组不存在 | 获取下一个不存在的数组 |
0X11 | 变频器运行时不能执行请求任务 | |
0X14 | 无效数值 | |
0X15 | 应答长度太长 | 当前的应答长度超出最大传输长度 |
0X16 | 无效的参数地址 | |
0X17 | 无效的数据格式 | |
0X18 | 数据数量不一致 | |
0X19 | 驱动装置不存在 | |
0X20 | 文字类型的参数不能被改变 |
表9
4、硬件组态和站地址设置
本例中主站选用的是CPU319F-3 PN/DP,版本为V2.6,从站MM440的DP地址为5,MM440的版本为V2.09,选择的报文结构是PPO1,即含有4个PKW和2个PZD,见图1。也可以选择其他报文类型,只要含有4个PKW就可以,见图2。本例中PKW的地址范围是256~263,PZD的地址范围是264~267。
图1 图2
5、周期性DP通讯读取和修改参数例程
首先在主程序OB块中调用SFC14(读取参数)和SFC15(修改参数),功能块中LADDR为W#16#100,实际就是PKW的起始地址,DB1.DBB 0开始的8个字节是读到的值,DB1.DBB 24开始的8个字节是需要修改的参数值,见图3。M20.0为使能位,同时需要建一个DB1块。因为参数2000以下和2000以上的报文中IND不同,本文则以实例分别介绍如何读取和修改MM440的单字、双字和浮点数的三种参数类型。
图3
修改和读取2000以上参数方法:在下面的图中上部红色框中为实际修改后的值,由功能块SFC14读回来,下部红色框中为希望修改参数值的报文。
(1) 单字:修改参数P2010[1]为6,见图4。
修改参数请求报文
PKE=DB1.DBW 24=200A
IND=DB1.DBW 26=0180
PWE1=DB1.DBW 28=0000
PWE2=DB1.DBW 30=0006
实际应答报文
PKE=DB1.DBW 0=100A
IND=DB1.DBW 2=0180
PWE1=DB1.DBW 4=0
PWE2=DB1.DBW 6=6
图4
(2) 双字:修改参数P2200[1]为1,见图5。
修改参数请求报文
PKE=DB1.DBW 24=80C8
IND=DB1.DBW 26=0180
PWE1=DB1.DBW 28=0001
PWE2=DB1.DBW 30=0000
实际应答报文
PKE=DB1.DBW 0=50C8
IND=DB1.DBW 2=0180
PWE1=DB1.DBW 4=0001
PWE2=DB1.DBW 6=0000
图5
(3) 浮点数:修改参数P2240[1]为40.0,见图6。
修改参数请求报文
PKE=DB1.DBW 24=80F0
IND=DB1.DBW 26=0180
PWE1+PWE2=DB1.DBD 28=40.0
实际应答报文
PKE=DB1.DBW 0=50F0
IND=DB1.DBW 2=0180
PWE1+PWE2=DB1.DBD 4=40.0
图6
修改和读取2000以下参数方法:下面的图中上部红色框中为实际修改后的值,由功能块SFC14读回来,下部红色框中为希望修改参数值的报文。
(1) 单字:修改参数P0701[0]为2,见图7。
修改参数请求报文
PKE=DB1.DBW 24=72BD
IND=DB1.DBW 26=0000
PWE1=DB1.DBW 28=0000
PWE2=DB1.DBW 30=0002
实际应答报文
PKE=DB1.DBW 0=42BD
IND=DB1.DBW 2=0000
PWE1=DB1.DBW 4=0000
PWE2=DB1.DBW 6=0002
图7
(2) 双字:修改参数P1020[0]为1,见图8。
修改参数请求报文
PKE=DB1.DBW 24=83FC
IND=DB1.DBW 26=0000
PWE1=DB1.DBW 28=0001
PWE2=DB1.DBW 30=0000
实际应答报文
PKE=DB1.DBW 0=53FC
IND=DB1.DBW 2=0000
PWE1=DB1.DBW 4=0001
PWE2=DB1.DBW 6=0000
图8
(3) 浮点数:修改参数P1120[1]为40.0,见图9。
修改参数请求报文
PKE=DB1.DBW 24=8460
IND=DB1.DBW 26=0100
PWE1+PWE2=DB1.DBD 28=40.0
实际应答报文
PKE=DB1.DBW 0=5460
IND=DB1.DBW 2=0100
PWE1+PWE2=DB1.DBD 4=40.0
图9
6、非周期DP通讯读取和修改参数例程
方法一:使用SFB52/SFB53对MM440进行非周期DP通讯读取参数时必须要成对出现,即先发送读请求块SFB53,然后发送SFB52块读取参数;而修改参数只需要发送功能块SFB53就可以。功能块中ID的地址可以设置为PZD或者PKW的地址,也可以设置为诊断地址,本例中设为诊断地址W#16#1FFA;功能块中INDEX必须为47;建议功能块中LEN和RECORD的长度一致,或者RECORD的长度大于LEN的长度,只要小于240字节即可,见图10。程序中先置M0.0为1发出读请求,然后程序自动把M0.0复位为0;再置M0.1为1进行读取参数,M0.1也自动复位为0。
读请求 读参数
图10
方法二:使用SFC58/SFC59对MM440进行非周期DP通讯读取参数必须要成对出现,即先发送读请求块SFC59,然后发送SFC58块读取参数;而修改参数只需要发送功能块SFC59就可以。功能块中LADDER的地址可以设置为PZD或者PKW的地址,也可以设置为诊断地址,本例中设为诊断地址W#16#1FFA;功能块中IOID必须设置为B#16#54;功能块中RECNUM必须为B#16#2F,即十进制必须为47;程序中先置M2.0为1发出读请求,然后程序自动把M2.0复位为0;再置M2.1为1进行读取参数,M2.1也自动复位为0,见图11和图12。
读请求 读参数
图11
图12
(1)一次读取参数P1120的三个下标值和P1121的三个下标值,报文结构说明见图13,其中DB1.DBB 2(驱动单元ID号码):可以取值为0或1或2。实际设置见图14。
图13
读请求 读参数
图14
(2)单字:修改参数P0701的三个下标值均为9,主程序调用功能块SFC59,见图15,M3.1置后则自动复位为0。实际修改参数见图16。STARTER软件中参数P0701的三个下标值均被修改为9,见图17。
图15
图16
图17
(3)双字:把参数P2200的三个下标值都修改为1,实际修改参数见图18,STARTER软件中参数被修改为1,见图19。
图18
图19
(4)浮点数:把参数P1120的三个下标修改为11.0/7.0/30.0,实际修改参数见图20,STARTER软件中参数被修改为11.0/7.0/30.0,见图21。
图20
图21
S7-300 以太网模块在 Profinet 网络中既可以作为控制器也可以作为设备,当 Profinet 连接中断时,可以使用下面的方法来判断。本文以 CP343-1 作为控制器为例,如图1,两个设备分别为ET200SP和ET200M。
图01
Profinet 通讯中现场设备作为数据的提供者,会向控制器发送数据到 I 区。在发送的 PN 的报文中,按照槽位的顺序添加内容,输入模块槽位:输入数据+IOPS;输出模块槽位:IOCS。IOPS 表示 IO 数据的提供状态(数据是好的还是坏的);IOCS表示IO 数据的消费状态(Q 数据使用状况)。如图2,CP 的PN 通讯程序块 FC11 "PNIO_SEND"和 FC12 "PNIO_RCIV" 提供了IOCS/IOPS 的输出管脚,可以用于通讯状态的评估。
图02
IOCS/IOPS 的有效长度和通讯的数据长度有关,每个字节的输入/输出,对应一位IOCS/IOPS 输出。如图3,ET200SP 站点,输入地址0-7 8个字节,对应 IOPS 8位,即MB202;输出地址0,一个字节,对应IOCS 一位,即M200.0。
图03
如图4,ET200M 站点,输入地址8 ,1个字节,对应 IOPS 1位,顺序后延即M203.0;输出地址1,一个字节,对应IOCS 一位,顺序后延即M200.1。
图04
如图5-6,如果现场设备只是发生故障,通讯没有中断,例如 ET200SP AI模块被拔出,只有相应的 IOPS 位置位,即MB202。
图05
图06
如果此时现场设备和控制器的连接中断,则现场设备相应的所有 IOPS/IOCS 都会置位,如图7。此时,ET200M IOPS/IOCS 位全部置位,ET200M 此时可能掉站。
图07
注意!某些极端情况,例如 ET200SP 所有的IO 模块都被拔出,IOPS/IOCS 也会全部置位,但是此时通讯连接并没有中断。因此要根据现场实际情况来判断。