热门搜索:
西门子PLC代理
《销售态度》:质量保证、诚信服务、及时到位!
《销售宗旨》:为客户创造价值是我们永远追求的目标!
《服务说明》:现货配送至全国各地含税(16%)含运费!
《产品质量》:原装正品,全新原装!
《产品优势》:专业销售 薄利多销 信誉好,口碑好,价格低,货期短,大量现货,服务周到!
一、DP总线通讯功能概述
S7-300/400与SINAMICS S120 之间通过DP总线可进行周期性及非周期性数据通讯。使用标准S7功能块SFC14/SFC15,S7-300/400PLC通过PROFIBUS周期性通讯方式可将控制字1(CTW1)和主设定值(NSETP_B)发送至驱动器;使用标准S7功能块SFC58 / SFC59,可以实现非周期性数据交换,读取或写入驱动器的参数。
二、S7-300/400与S120装置的连接
三、驱动器站地址设置
1. 驱动装置的PROFIBUS通讯地址设置有两种方法:
(1) 通过CU控制单元上的拨码开关实现地址设置,有效地址值为:1…126,本例中地址设置见下图。
注意:通过拨码开关改变地址时应断掉变频器电源
(2) 在拨码开关全部拨到OFF或ON状态时可以利用参数P918设置地址,否则
P918参数中设置的地址是无效的。
驱动装置的PROFIBUS 通讯波特率默认为:1.5Mbps
2. 在S7-300/400的硬件组态中设定的驱动装置站地址应与驱动装置的站地址一致。
四、通讯报文设置
对于不同的驱动装置只有特定的报文结构能被选用,详细描述请参考:SINAMICS_S120_Commissioning_Manual。表1为常用报文。
表1.
报文格式999为用户自定义报文,当用户选择此报文格式时,电机的起、停控制位等需自己做关联。此时必须将PLC控制请求置1(P854=1)。
注意:用户可在S7-300/400硬件配置时根据需要配置报文结构,配置结束后进行
五、用DP总线对电机起、停及速度控制
S7-300/400PLC通过PROFIBUS周期性通讯方式将控制字1(CTW1)和主设定值(NSETP_B)发送至驱动器。
(1) 控制字中Bit0做电机的起、停控制。
(2) 主设定值为速度设定值,频率设定值和实际值要经过标准化,使得4000H(十六进制)对应于**,发送的较高频率(较大值)为7FFFH(200%)。可以在P2000中修改参考频率(缺省值为50Hz)。
(3) 组态的报文结构 PZD=2或自由报文999时,在S7-300/400 中可用“MOVE”指令进行数据传送;当组态的报文结构 PZD〉2,在S7-300/400 中需调用SFC14和SFC15系统功能块。
? SFC14(“DPRD_DAT”)用于读Profibus 从站的过程数据
? SFC15(“DPWR_DAT”)用于将过程数据写入Profibus 从站
例子:SERVO_02 ”控制字、主设定值的发送及状态字、实际频率的读取程序
(1) 控制驱动器运行:
通过先发送控制字(STW1)047E然后发送047F来启动驱动器,该数据控制字在DB10.DBW8(见图4)中*,主设定值在DB10.DBD10中设定,运行信号为M1.0。这些值均通过变量表VAT_2设定及监控。控制程序见图3。
(2)停止驱动器:
应发送控制字047E至驱动器。
(3)读取驱动器状态字及频率实际值:
PLC接收状态字1(ZSW1),存放在DB10.DBW0中;接收驱动器传来的频率实际值,存放在DB10.DBD2中。
六、驱动器参数的读取及写入
1.扩展PROFIBUS DP功能(DPV1)
非周期性数据传送模式允许:
? 交换大量的用户数据(较多240 bytes)
? 用DPV1的功能 READ 和 WRITE可以实现非周期性数据交换。传输数
2. 参数请求及参数应答的结构
参数请求包括三部分:请求标题、参数地址及参数值。
表2.参数请求格式
表3.参数应答格式
表4.参数请求及应答描述
表5.在DPV1参数应答中的错误值描述
3. S7-300/400PLC通过PROFIBUS非周期性通讯方式读取驱动器参数。
请注意:PLC读取驱动器参数时必须使用两个功能块SFC58 / SFC59 (程序参见图5)
举例如下:
(1) 使用标志位M10.0及功能SFC58块将写请求(数据集RECORD DB1) (图6)发送至驱动器。
将M10.0设定为数值1启动写请求,当写请求完成后必须将该请求置0,结束该请求。MW108 (RET_VAL)显示错误代码,用于表示功能处理时发生的错误。有关错误的描述参见“系统功能/功能块帮助”。
(2) 之后,使用标志位M10.1及功能SFC59块将读请求发送至驱动器,驱动器返回参数值响应(响应块DB2) (参见图7) 。
将M10.1设定为数值1启动读请求,当读请求完成后必须将该请求置0,结束该请求。MW110 (RET_VAL) 显示包括错误代码。
用于表示功能处理时发生的错误。有关错误的描述参见“系统功能/功能块帮助”。
4. S7-300/400PLC通过PROFIBUS非周期性通讯方式写入驱动器参数P1217。
举例如下:
PLC写参数时只需使用SFC58,在本项目的Network 3中发送写请求DB1 (参见图9) 到驱动器; PLC读“写参数”响应时需使用SFC59,在本项目中读取驱动器返回的参数值数据块为DB2 (参见图10) 。程序参见图8。
(1) 将M10.0设定为数值1启动写请求,当写请求完成后必须将该请求置0,结束该请求。MW108 (RET_VAL)显示错误代码,用于表示功能处理时发生的错误。有关所有错误的描述参见“系统功能/功能块帮助”。
(2) 将M10.1设定为数值1启动读请求,当读请求完成后必须将该请求置0,结束该请求。MW110 (RET_VAL) 显示包括错误代码。
用于表示功能处理时发生的错误。有关错误的描述参见“系统功能/功能块帮助”。
问题:
解答:
样例 1:< /span>
SFC 81 "UBLKMOV"
可复制的较大数据量为 512 字节。请注意与CPU性能有关的限制。有关的限制可从操作列表中看到。
既然复制过程不能打断,在使用 SFC 81“UBLKMOV” 时,可增大CPU对报警的响应时间。
源区和目标区不得互相交迭。如 果*的目标区大于源区,那么只把与源区里同样多的数据复制到目标区。如果*的目标区小于源区,那 么只把目标区能接收的那么多的数据复制入目标区。
通讯块和功能之间的一致性
访问 CPU的工作内存
下图给出了一个无法保证数据传输一致性的例子。因为它没有遵守一致性规则的*二条:被动 CPU (数据发送方)的数据块大小为 8 个字节,而传输的却是 32 个字节。
图 1:数据传输的例子
用于 SFB 15“PUT”或写变量的一致性规则
对于 SFB 15 “PUT”,如果遵循下列规则,数据传输将具有一致性:
下图为一个数据传输的例子。由 于一致性规则的*二条没有得到遵守<被动CPU(数据接收方)*的数据块大小只有32 个字节,而发送的却是64个字节>,无 法保证数据的一致性。
图 2:无 法保证一致性的数据传输
通过SFC 81 “ UBLKMOV”可在S7-400 的用户程序里实现跨几个变量的大数据块一致性传输(不可中断的块移动)。
这样,例如通过SFB 14 “ GET”, SFB 15 “PUT”以及读/写变量,可实现对此数据的一致性访问。
从一台 DP 标准从站读出一致性数据,/ 然后把它一致性地写入一台 DP 标准从站。
通过SFC 14 “DPRD_DAT”从一台 DP 标准从站一致性地读出数据
通过 SFC 15“DPWR_DAT”( 把数据一致性地写入一台DP标准从站)把 RECORD 里的数据一致性地传输入赋址好的DP 标准从站。
注意:
一致性传输用户数据到一台 DP 从站的上限较大值
不使用SFC 14 或 SFC 15 时的一致性数据访问
它适用于下列CPU。固件版本 3.0 以上:
S7-400 CPU
MLFB
表 1:支持一致性数据访问的CPU(不用 SFC14/SFC15)
当你进行直接访问时 (比方说 L PEW 或 T PAW),没有 I/O 访问错。
从 采用SFC14/15 方案转向采用过程映像方案时的注意要点:< /b>
样例:
在输入下的下拉列表里选择 “过程映像分区 -> ---” 意味着过程映像里没有存储内容。只 能用系统功能SFC14/15来处理它。
图 3:在HW Config 里组态DP从站的属性。
西门子PLC代理
图.1
编译保存;之后打开Starter,核对报文结构是否一致,若不一致需在Starter
中打开“configuration”做调整后点击“Transfer to HW config”按钮。
图.2
DC/AC 驱动装置报文设定
图.3
图3. 控制程序
图4. DB10
据块的内容应遵照 PROFIdrive参数通道(DPV1)数据集DS47(非周期参
数通道结构)。
图5. 读取驱动器参数程序
图6. “写”请求数据块DB1
图7. 驱动器返回参数值数据块DB2
图8. 写入驱动器参数程序
图9. 写请求DB1
图10. 驱动器返回的数据块DB2
S7-400中保持数据传输的一致性使用的是什么机理?
一致的数据指的是就内容来说是一致的,而 且它所描述了在某个时间点的一个称之为一致性数据的过程状态。要保持数据的一致性,它在传输或处理过程中不得被更新或改动。< /span>
为了对CPU在循环程序处理过程中有一致的过程信号的映像,在程序处理前就把过程信号读入输入的过程映像中,并 且在程序处理后又写到输出的过程映像。然后,在程序处理过程中,用户程序在对操作数区输入(I)和输出(Q) 寻址时并不直接访问信号模块,而是访问CPU 的内部存储区里的过程映像 。< /span>
样例 2:
如果一个通讯块(比如 SFB 14 “GET”, SFB 15 “PUT”)被较高**级的过程警报OB所中断,就有可能出现不一致性。 现在,如果在该过程警报OB中的用户程序更改了已经部分被通讯块处理过的数据,那样的话被传输的数据中,部分是过程警报处理以前时间的数据,部 分则是过程警报处理以後时间的数据,这意味着,此数据是不一致的。
使用 SFC 81 “UBLKMOV”,把一个内存区(源区)的内容一致地复制到另一个内存区(目标区)里 。复 制过程不得被操作系统的任何其它动作所打断。
使用SFC 81 “UBLKMOV”,可复制下列内存区:
对 S7-400 ,通 讯作业不在循环程序的执行处来处理,而是在程序循环过程中的一个固定的时间段里处理。从系统来讲,数据格式字节,字 和双字永远可以得到一致性的处理,就是说传输一个字节,一个字(两个字节)或双字(4个字节)是不会被打断的。
如果通讯块(比如 SFB 12 “BSEND”)只能成对使用(象SFB 12 “BSEND” 和 SFB 13 “BRCV”) 而且它访问公共数据在用户程序中被调用,那么也访问本身数据区,比如通过 “DONE”参数对该数据区的访问,是可以协调的。通 过这些通讯块局部传输的数据的一致性,因而可以在用户的程序里得到保证。
使用 S7 的通讯功能时动作是不一样的。用这些功能时目标设备 (比如 SFB 14 “GET”, SFB 15“PUT”) 里的用户程序不要求通讯块。在编程时就必须把一致性数据的大小已经考虑在内。
操作系统的通讯功能是以固定长度数据包来访问CPU的工作内存。此数据包的大小与CPU性能有关,S7-400 CPU是32个字节。< /span>
这样就确保了在使用通讯功能时报警响应时间不会被延长。由于这种访问与用户程序异步,你无法一致地传输任意个数字节的数据。< /span>
下面将解释为保证数据一致性所要遵循的规则。
用于 SFB 14 "GET" 或读变量的一致性规则
如果是 SFB 14 “GET”,只要遵循下列规则就可一致性地传输数据。
通过SFC 14 “DPRD_DAT”(从一台 DP 标准从站读出一致性数据), 从一台DP标准从站一致性地读出数据。如果数据传输中无错误,则读出的数据被输入由RECORD*的目标区。< /span>
目标区必须与你已经用STEP 7为选定的模块组态好的长度一致。每次调用SFC 14只能访问一个模块/DP ID 的数据(从组态好的起始地址)。
通过 SFC 15“DPWR_DAT” 把数据一致性地写入一台 DP 标准从站
源区的长度必须与通过 STEP 7 为选定模块组态好的长度一致。
PROFIBUS DP标准定义了传输一致性用户数据的上限(见下一节)。通常的DP标准从站遵守这些限制。对于较老的CPU (<1999),对 传输一致性用户数据存在与 CPU 有关的限制。
请参考这些CPU的技术数据。在关键字 “DP 主站 -每台DP 从站的用户数据” 下去寻找CPU 可以一致性地从一台DP标准从站读出数据和一致性地写入一台DP标准从站的数据的较大长度,一些近期CPU的此项指标已经**过标准DP从站可能或接受的数据长度值。< /span>
PROFIBUS DP标准规定了传输一致性用户数据到DP从站的上限。这就是为什么在一台DP标准从站里,可用一个数据块来一致性地传输较大达64 个字 = 128 字节的用户数据。
当组态时,你定义了一致性区的大小。该大小用特殊的代码格式(德语缩写: SKF)表示为64 个字 = 128 字节(输入用128个字节,128个字节用于输出)设置的一致性数据较大长度。再长就不可行了。
这个上限只适用于纯用户数据。诊断数据和参数被分组到完整的数据纪录里,因而总是得到一致性地传输。< /span>
在通常的代码格式里(德语缩写: AKF),可为一致性数据设置较大长度16 个字 = 32 个字节 (32 个字节用于输入,32 个字节用于输出)。再长就不可行了。
在本文里请同样注意, 通常在一个非系统主站 (通过GSD连接)上的CPU 41x 作为 DP 从站时,必 须是用一般代码格式才可加以组态。基于这个理由,作为PROFIBUS DP上从站的 CPU 41x 的传输内存的较大长度为16 个字 = 32个字节。
一致性数据访问 大于 4 个字节时,对于下列的CPU 是可行的(不用SFC 14或SFC 15)。要 被一致性传输的一个 DP 从站的数据区数据是被传输到一个过程映像分区的。这样在此区域里的信息永远是一致的。然后可用 装载/传输命令 (比如L EW 1) 来访问过程映像。
这为访问一致性数据提供了特别方便和有力的选项(低运行开销)。这一方案又为高效地结合和参数化驱动或其它 DP 从站成为可能。< /span>
CPU 412-1
6ES7 412-1XF03-0AB0
CPU 412-2
6ES7 412-2XG00-0AB0
CPU 414-2
6ES7 414-2XG03-0AB0
CPU 414-3
6ES7 414-3XJ00-0AB0
CPU 416-2
6ES7 416-2XK02-0AB0
CPU 416-3
6ES7 416-3XL00-0AB0
CPU 417-4
6ES7 417-4XL00-0AB0
CPU 414-4H
6ES7 414-4HJ00-0AB0
CPU 417-4H
6ES7 417-4HL01-0AB0
下面的例子 (过程映像分区 3 “TPA 3”)显示了 HW Config 中一种可能的组态。