您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

湖南 长沙6ES7214-1BG40-0XB0西门子销售中心

2019/3/23 23:29:06发布43次查看
湖南 长沙   西门子   6es7214-1bg40-0xb0   销售中心  
 
 
   
s7-1200作为智能io设备和cp343-1的 profinet 通信(s7-300做控制器) s7-1200 v4.0 支持智能 io 设备功能,故可使用 s7-1200 作为智能 io 设备和 cp343-1 的 profinet 通信。本例中将 s7-300 做为控制器,连接作为智能 io 设备的s7-1200 cpu 实现 profinet 通信;下面详细介绍使用方法。
硬件:
cpu 1217c dc/dc/dc,v4.0 cpu 314c-2ptp,v2.6 + cp343-1,v3.0 软件:
step7 v13 step7 v5.5 sp3 cp343-1 的 pn 接口连接 s7-1200 的 pn 接口,这种方式可以分2种情况来操作,具体如下:
第一种情况:cpu 1217c 和 cpu 314c 使用 step7 v13 编程,在一个项目中操作。 第二种情况:cpu 1217c 使用 step7 v13,而 cpu 314c 使用 step7 v5.5。 1. 第一种情况(同一项目中操作) cpu 314c 作为 controller,1217c 作为 io device,使用 step7 v13 在一个项目中操作,详细步骤如下。
1-1 使用 step7 v13 创建 s7-300 站 使用 step7 v13 创建一个新项目,并通过“添加新设备”组态 s7-300 站 plc_1,选择 cpu 314c-2 ptp, 添加 cp343-1 ,设置 ip 地址。如图 1 所示。
图 1 在新项目中插入 s7-300 站
在“操作模式”选项中确认 cp343-1 的操作模式。 如图 2 所示。
图 2 选择 cp343-1 操作模式
1-2 使用 step7 v13 创建 s7-1200 站 使用 step7 v13 创建一个新项目,并通过“添加新设备”组态 s7-1200 站 plc_2,选择 cpu1217c dc/dc/dc v4.0;设置 ip 地址,并确认设备名称,本示例中设备名称是plc_2。如图 3 所示。
图 3 在新项目中插入 s7-1200 站
s7-1200 作为 io 设备,需要将其操作模式设置为 io 设备,并将 io 设备分配给控制器 plc_1 。如图 4 所示。
图 4 s7-1200 设置为 io 设备
接着,在“智能设备通信”的“传输区”创建 io 通信区,控制器的 qb2~6 共计5个字节传送到 io 设备的 ib2~6 ;控制器的 ib2~6 共计5个字节读取来自 io 设备的 qb2~6 。如图 5 所示。
图 5 创建 io 通信区
1-2 硬件组态下载,检查设备名称和 ip 地址是否正确 分别将 plc_1 站和 plc_2 站下载到各自的 plc 中。
将软件切换到“网络视图”,找到 pn/ie 总线,查看设备名称是否正确。如图 6、7 所示。
图 6 网络视图
图 7 确认设备名称和 ip 地址
1-3 s7-300 编程 本例中,cp343-1 作为 io 控制器,需要在 ob1 中编程调用 pnio_send 和 pnio_recv 进行数据读写。如图 8 所示。
图 8 cpu314c 中编程
call “pnio_send”    
cpladdr :=256 // cp 模板起始地址
mode :=0 // 工作模式:当cp343-1仅作为io控制器或io设备时,设为0;当cp343-1同时作为io控制器和io设备时,设为1
len :=7 // 要发送的数据区长度;该长度始终是从数据区地址0开始计算
send :=p#m100.0 byte 7 // 发送数据区
iocs :=p#m150.0 byte 10 // 每一用户数据字节传送一个状态位。长度信息取决于len参数中的长度。
以程序段1为例,共发送7个字节,每个字节需要1个比特位,所以共需要7位,即至少需要1字节。
done :=%m0.0 // 为1时,无错误完成该作业
error :=%m0.1 // 为1时,有故障发生
status :=%mw2 // 状态代码
check_iocs :=%m0.3 // 0: 所有iocs均设置为good
// 1: 至少一个iocs设置为bad
 
call “pnio_recv”    
cpladdr :=256 // cp 模板起始地址
mode :=0 // 工作模式:当cp343-1仅作为io控制器或io设备时,设为0;当cp343-1同时作为io控制器和io设备时,设为1
len :=7 // 要接收的数据区长度;该长度始终是从数据区地址0开始计算
recv :=p#m200.0 byte 7 // 发送数据区
iops :=p#m250.0 byte 10 // 每一用户数据字节传送一个状态位。长度信息取决于len参数中的长度。
以程序段2为例,共接收7个字节,每个字节需要1个比特位,所以共需要7位,即至少需要1字节。
ndr :=%m1.0 // 为1时,无错误完成该作业
error :=%m1.1 // 为1时,有故障发生
status :=%mw4 // 状态代码
check_iops :=%m1.2 // 0: 所有iops均设置为good
// 1: 至少一个iops设置为bad
add_info :=%mw6 // 附加诊断信息;具体请查看指令帮助信息
1-4 通讯测试 检查无错误后,下载 s7-300 的程序,分别给两个站点新建监控表,添加通信数据区,监控。如图 9 所示。
图 9 通信测试
1-5 地址对应关系的说明
图 10 地址对应关系
从图中可以看到,当 cp343-1 作为控制器时,其传送的地址需从0开始的。地址对应排列关系以逻辑地址大小为序。地址如果出现间隔时,如例子中,没有组态的地址区 ib0~2(qb0~1) 及其对应的 mb100~101(mb200~201) 也将被传送。
2. 第二种情况(不在同一项目中操作) 不在一个项目中的操作,即:cpu314c 作为 controller 使用 step7 v5.5 编程;1217c 作为 io device,使用 step7 v13 编程,详细步骤如下。
2-1 使用 step7 v13 创建 s7-1200 站 使用 step7 v13 创建一个新项目,并通过“添加新设备”组态 s7-1200 站 io-device ,选择 1217c;设置 ip 地址,并确认设备名称,本示例中设备名称是io_device。如图 11 所示。
图 11 在新项目中插入 s7-1200 站
s7-1200 作为 io 设备,需要将其操作模式设置为 io 设备。如图 12 所示。
图 12 s7-1200 设置为 io 设备,并创建 io 通信区
接着,在“智能设备通信”的“传输区”创建 io 通信区,控制器将传输5个字节到 io 设备的 ib2~6 ;io 设备将 qb2~6 共计5个字节传送给控制器。
2-2 导出 io 设备的 gsd 文件 编译该项目,在“智能设备通信”属性的下方,找到并点击“导出”按钮,根据提示将 gsd 文件导出(注意不要修改设备名称)。如图 13 所示。
图 13 导出 io 设备的 gsd 文件
2-3 使用 step7 v5.5 创建 s7-300 站 使用 step7 v5.5 创建一个新项目,并组态 cpu 314c-2 ptp, 添加 cp343-1 ,设置 ip 地址,并确认设备名称,本示例中设备名称是pn-io。如图 14 所示。
图 14 在新项目中插入 s7-300 站
在 step7 v5.5 的硬件组态界面,通过“选项”进入“安装 gsd 文件...”界面, 在源路径选择 io-device 的 gsd 文件存放路径。如图 15 所示。
图 15 step7 v5.5 安装 io-device 的 gsd 文件
2-4 在 step7 v5.5 中组态 io-device 首先,需要给 cp343-1 插入 profinet io 总线,在 cp343-1 的“pn-io”上鼠标右键,选择“插入 profinet io 系统”。如图 16 所示。
图 16 插入 profinet io 系统
然后,从硬件目录路径:profinet io --> preconfigured stations --> cpu 1217c dc/dc/dc --> io-device 拖拽到 pn 总线上。如图 17 所示。
图 17 组态 io-device
2-5 硬件组态下载,检查设备名称和 ip 地址是否正确 分别将 s7-300 站和 s7-1200 站下载到各自的 plc 中。
将 step7 v13 软件切换到“网络视图”,找到 pn/ie 总线,查看设备名称是否正确。如图 18、19 所示。
图 18 网络视图
图 19 确认设备名称和 ip 地址
2-6 s7-300 编程 本例中,cp343-1 作为 io 控制器,需要在 ob1 中编程调用 pnio_send 和 pnio_recv 进行数据读写。如图 20 所示。
图 20 cpu314c 中编程
call “pnio_send”    
cpladdr :=w#16#100 // cp 模板起始地址
mode :=b#16#0 // 工作模式:当cp343-1仅作为io控制器或io设备时,设为0;当cp343-1同时作为io控制器和io设备时,设为1
len :=7 // 要发送的数据区长度;该长度始终是从数据区地址0开始计算
send :=p#m100.0 byte 7 // 发送数据区
iocs :=p#m150.0 byte 10 // 每一用户数据字节传送一个状态位。长度信息取决于len参数中的长度。
以程序段1为例,共发送7个字节,每个字节需要1个比特位,所以共需要7位,即至少需要1字节。
done :=%m0.0 // 为1时,无错误完成该作业
error :=%m0.1 // 为1时,有故障发生
status :=%mw2 // 状态代码
check_iocs :=%m0.3 // 0: 所有iocs均设置为good
// 1: 至少一个iocs设置为bad
 
call “pnio_recv”    
cpladdr :=w#16#100 // cp 模板起始地址
mode :=b#16#0 // 工作模式:当cp343-1仅作为io控制器或io设备时,设为0;当cp343-1同时作为io控制器和io设备时,设为1
len :=7 // 要接收的数据区长度;该长度始终是从数据区地址0开始计算
recv :=p#m200.0 byte 7 // 发送数据区
iops :=p#m250.0 byte 10 // 每一用户数据字节传送一个状态位。长度信息取决于len参数中的长度。
以程序段2为例,共接收7个字节,每个字节需要1个比特位,所以共需要7位,即至少需要1字节。
ndr :=%m1.0 // 为1时,无错误完成该作业
error :=%m1.1 // 为1时,有故障发生
status :=%mw4 // 状态代码
check_iops :=%m1.2 // 0: 所有iops均设置为good
// 1: 至少一个iops设置为bad
add_info :=%mw6 // 附加诊断信息;具体请查看指令帮助信息
 
2-7 通讯测试 检查无错误后,分别给两个站点新建监控表,添加通信数据区,监控。如图 21 所示。
图 21 通信测试
2-8 地址对应关系的说明
图 22 地址对应关系
从图中可以看到,当 cp343-1 作为控制器时,其传送的地址需从0开始的。地址对应排列关系以逻辑地址大小为序。地址如果出现间隔时,如例子中,没有组态的地址区 ib0~2(qb0~1) 及其对应的 mb100~101(mb200~201) 也将被传送
 
 
s7-1200与分布式io设备的诊断功能 s7-1200 cpu v2.1 开始支持分布式 io 设备的诊断功能,可使用 devicestates 和 modulestates 指令对分布式 io 设备的站状态和子模块进行诊断。本文使用 1214c v4.0 cpu 和 et200sp 的 pn 通信为例进行说明(dp通信同样适用)。
硬件:
cpu 1214c dc/dc/dc,v4.0,一台 et200sp 分布式 io 站,pn 接口,两套 软件:
tia portal v13 sp1 upd2 使用 tia portal 创建项目 使用 tia portal 创建一个新项目,正确配置,下载后,进入网络视图,所有站点状态正常。如图 1 所示。
图 1 网络视图
注意:分布式 io 为 pn 子站时,可在“网络概览”中可以查看分布式 io 的设备编号。
1 使用 devicestates 指令对分布式 io 子站进行诊断 1-1 创建全局数据块,用于存储状态数据 在全局数据块中创建数据类型为 array of bool 数组,共计1024个元素。 如图 2 所示。
图 2 创建全局数据块
1-2 编程 在 ob1 中调用 devicestates 指令,双击 laddr 引脚,选择需要诊断的 io 系统。如图 3 所示。
图 3 调用 devicestates 指令
本例中将 mode 设置为2,state 填写上述定义的全局数据块数组。如图 4 所示。
图 4 填写相应的引脚
指令引脚说明:
参数 laddr 使用 laddr 参数通过硬件标识符选择 profinet io 或 dp 主站系统。 
硬件标识符位于: profinet io 或 dp 主站系统属性的网络视图中。 或数据类型为 hw_iosystem 的所列系统常量的 plc 变量表中。
参数 mode 使用 mode 参数可读取状态信息。 可读取整个 profinet io 或 dp 主站系统的下列一条状态信息: 1: io 设备/dp 从站已组态 2: io 设备/dp 从站故障 3: io 设备/dp 从站已禁用 4: io 设备/dp 从站存在 5: 出现问题的 io 设备/dp 从站。
参数 state 通过 state 参数,输出由 mode 参数选择的 io 设备/dp 从站的状态。 
如果使用 mode 选择的状态适用于 io 设备/dp 从站,则在 state 参数中将下列位设置为“1”: 位 0 = 1: 组显示。 至少有一个 io 设备/dp 从站的第 n 位设置为“1”。 位 n = 1:通过 mode 选择的状态将应用到 io 设备/dp 从站。 对于 profinet io 系统,第 n 位对应于相应 io 设备的设备编号(请参见设备视图和网络视图中的 profinet 接口属性)。 对于 profinet dp 系统,第 n 位对应于 dp 从站的 profibus 地址(请参见设备视图和网络视图中的 dp 从站属性)。 使用“bool”或“array of bool”作为数据类型:
要仅输出状态信息的组显示位,可在 state 参数中使用 bool 数据类型。 要输出所有 io 设备/dp 从站的状态信息,请使用下列长度的 array of bool: 对于 profinet io 系统:1024 位 对于 dp 主站系统:128 位
1-3 测试 将程序下载到 plc 中。
监控全局数据块 devicestate。如图 5 所示。
图 5 io 系统正常
当 io device_2 故障时(掉电或网线拔除导致丢站),state[2]=1。如图 6 所示。
图 6 io device_2 故障
当 io device_1 和 io device_2 故障时(掉电或网线拔除导致丢站),state[1]=1 和 state[2]=1。如图 7 所示。
图 7 io device_1 和 io device_2 故障
2 使用 modulestates 指令对分布式 io 子模块进行诊断 2-1 创建全局数据块,用于存储状态数据 在全局数据块中创建数据类型为 array of bool 数组,共计128个元素。 如图 8 所示。
图 8 创建全局数据块
2-2 编程 在 ob1 中调用 modulestates 指令,双击 laddr 引脚,选择需要诊断的分布式 io 站。如图 9 所示。
图 9 调用 modulestates 指令
本例中将 mode 设置为2,state 填写上述定义的全局数据块数组。如图 10 所示。
图 10 填写相应的引脚
指令引脚说明:
参数 laddr 使用 laddr 参数通过站硬件标识符选择 io 设备或 dp 从站。 
硬件标识符位于:
io 设备站或 dp 从站属性的网络视图中。 或数据类型为 hw_device(对于 io 设备)或 hw_dpslave(对于 dp 从站)的所列系统常量的 plc 变量表中。
参数 mode 使用 mode 参数可读取状态信息。 可读取模块的下列一条状态信息:
1: 模块已组态 2: 模块故障 3: 模块禁用 4: 模块存在 5: 模块中存在故障。
参数 state state 参数输出使用 mode 参数选择的模块状态。 
如果使用 mode 选择的状态适用于某个模块,那么下列位将设置为“1”:
位 0 = 1: 组显示。 至少一个模块的第 n 位设置为“1”。 位 n = 1:使用 mode 选择的状态将应用到插槽 n-1(例如:位 3 对应插槽 2)中的模块。 使用“bool”或“array of bool”作为数据类型:
要仅输出状态信息的组显示位,可在 state 参数中使用 bool 数据类型。 要输出所有模块的状态信息,请使用长度为 128 位的 array of bool。
1-3 测试 将程序下载到 plc 中。
监控全局数据块 modulestate。如图 11 所示。
图 11 分布式 io 站所有子模块正常
当 io device_1 站插槽编号1的子模块故障时(损坏或被拔除),state[2]=1。如图 12 所示。
 
simatic net opc server 与 s7-1200 cm1243-5 的 dp 主从通信 使用 simatic net opc server 可以与 s7-1200 cm1243-5 建立 s7 通信,除此之外,还可以使用另外一种通信方式—— dp 主从通信(pc station 做 dp 从站,1200 做 dp 主站),下面详细介绍使用方法。
硬件:
cpu 1214c dc/dc/dc,v2.2 (6es7 214-1ae30-0xb0) 
cm1243-5 (6gk7 243-5dx30-0xe0) 
cp5612 (6gk1561-2aa00)
软件:
step7 v12 sp1
simatic net v8.2
opc scout v10
s7-1200 通过 cm1243-5 做 dp 主站,pc station 做 dp 从站与之进行 dp 主从通信,具体操作步骤如下。
1. 使用 step7 v12 生成 s7-1200 项目 使用 step7 v12 创建一个新项目,并通过“添加新设备”组态 s7-1200 站plc_1,选择 cpu1214c dc/dc/dc v2.2 创建项目。如图 1 所示。
图1. 创建 s7-1200 项目
组态 cm1243-5,为 cm1243-5 添加子网 profibus_1,分配站地址为 2。如图 2 所示。
图2. 组态 cm1243-5
2. 使用 cp5612 建立 dp 从站 再次通过“添加新设备”创建 pc 站,在 “pc 系统”里,选择 pc station,插入一个 pc 站。如图 3 所示。
图3. 插入 pc 站
在“用户应用程序”中,将“opc服务器”插入第 1 槽;在“通信模块”中,将“cp5612”插入第 2 槽。如图 4 所示。
图4. 创建 pc 站
在将“opc服务器”插入第 1 槽之前,请先选择 opc server 的版本。如图 5 所示。
图5. 选择 opc server 的版本
在 pc 站的设备视图中,进入 cp5612 卡的属性框,在“profibus 地址”中选择子网“profibus_1”,dp 地址分配成 3。如图 6 所示。
图6. cp5612分配dp地址
在“操作模式”中选择“dp 从站”,在“分配的 dp 主站”选择“plc.cm1243-5.dp 接口”。如图 7 所示。
图7. cp5612 选择 dp 从站
在“智能从站通信”中,添加 2 个传输区,一个是输入区,一个是输出区(注意图8 红框中描述的是主站地址,分别从 qb2 和 ib2 开始,该地址在后面通信中将会使用到,请留意)。如图 8 所示。
图8. 组态从站传输区地址
在 pc 站的属性框中,在“xdb 组态”中勾选“生成 xdb 文件”,指定 xdb 文件路径,再将 pc 站编译,在指定路径中生成一个 xdb 文件。如图 9 所示。
图9. 生成 xdb 文件
3. opc server 站配置 从电脑的右下角双击“station configuration editor”,进入 station configuration editor 对话框,点击“import station...”,将图 9 生成的 xdb 文件导入进来,如图 10 所示。
图10. opc server 站配置
导入完成后,opc server 站配置也就完成。如图 11 所示。
图11. opc server 站配置完成
4. 通信测试 将 s7-1200 项目下载到 plc 中,此时 cm1243-5 的 diag 指示灯还是红闪,表示 dp 主从通信并未建立起来,这是因为 opc server 默认处于未激活状态,pc station 作为 dp 从站还没有生效,需要启动一个 opc 客户端来激活服务器。按以下步骤启动一个 opc 客户端。
从电脑“开始”菜单中,执行 simatic net 的 opc scout v10。如图 12 所示。
图12. 执行 opc scout v10
在 opc scout v10 中添加输入输出变量,在 da view1 中对输出进行赋值,如图 13 所示。
图13. opc scout v10 变量测试
在 s7-1200 项目的监控表中监视相应的变量,如图 14所示。
湖南 长沙   西门子   6es7214-1bg40-0xb0
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product