技术论坛

 应用探讨——S7-1200 通信的应用

返回主题列表
作者 主题

总坛主
西门子官方工程师西门子官方工程师

经验值:22777
发帖数:3748
精华帖:8
楼主    2011-11-28 11:04:05
主题:应用探讨——S7-1200 通信的应用
S7-1200 已经在中国使用了大约3年多的时间了,对于大多数工程师来说,对于S7-1200的熟悉程度可能还是不如对于S7-200更熟悉,相比较而言,S7-1200的使用方式与S7-200来说,有了非常大的不同;但是这其中,对于通信方式的不同点,又有怎样的不同点和怎样的相同点呢? S7-1200的通信方式有:RS232,RS485,Modbus,USS; Profibus-DP,Profinet,Tcp;对于上述的通信方式,我们应当怎样在S7-1200的应用中选择更合适的通信方式呢?每种通信方式的特点是什么呢?它们在通信的过程中需要注意什么呢?开设此话题,欢迎大家可以就以下几个点畅所欲言,发表自己的看法,共同提高:
1. 对于S7-1200 的通信使用的感受,分享经验及心得。
2. S7-1200 的各种通信方式的特点。
3. S7-1200 的各种通信方式的注意事项。

参考文档:
49915587 SIMATIC S7-1200 可编程控制器系统手册
A0557 S7-1200与S7-300 CPU 集成 PN 口的ISO on TCP通信
40622389 以太网通信:S7-1200 <-> S7-200 (CE-X20) 数据交换
A0500 基于S7-1200CPU集成PN 接口 Modbus TCP通讯快速入门
A0467 如何通过USS协议实现S7-1200 与MM440变频器的通信
A0403 如何通过Modbus RTU协议实现S7-1200 与PAC3200的通信

此次集中交流将持续至12月29日,其中所有精华帖作者将获得加倍精华奖励积分;最终所有有效留帖的网友将获得加倍发帖积分。更多积分带给您更多奖品兑换的自由。
对于有突出发言贡献的网友,还可以在当前的可兑换奖品中免费挑选200分(含)以下任一款奖品。
交流结束后也将专门整理重要内容,供广大网友分享参考。
预祝大家交流愉快,收获丰富!
GESINTEL
侠圣

经验值:3317
发帖数:568
精华帖:3
4楼    2011-11-28 13:05:00
精华帖  主题:回复:应用探讨——S7-1200 通信的应用
S7-1200 可以通过 PN 连接和如下设备建立通讯:

1 其他的 S7 CPU (S7-200, S7-300, S7-400, S7-1200)
2 STEP 7 Basic 编程设备
3 精简面板
4 支持 TCP 或 ISO on TCP 通讯协议的设备
PROFINET 口的最大连接数
CPU 的 PROFINET 接口支持以下连接同时通讯:

。3 个 HMI 到 CPU 的通讯连接
。1 个编程设备(PG) 到 CPU 的通讯连接
。8 个使用 S7-1200 T-block 指令编程的连接 (TSEND_C, TRCV_C, TCON, TDISCON, TSEND, TRCV)
。3 个被动 S7-1200 CPU 与主动 S7 CPU 的连接:
使用 GET 和 PUT 指令的主动 S7 CPU (S7-300 和 S7-400) 或者使用 ETHx_XFER 指令的 (S7- 200)。
S7-1200 仅能通过调用 T-block 指令建立主动的 S7 CPU 连接
lyq0536@163.com
々稻草人々
侠客

经验值:798
发帖数:152
精华帖:9
9楼    2011-11-29 15:23:45
精华帖  主题:回复:应用探讨——S7-1200 通信的应用
S7-1200 控制器具有模块化、结构紧凑、功能全面等特点,适用于多种应用,能够保障现有投资的长期安全。由于该控制器具有可扩展的灵活设计,符合工业通信最高标准的通信接口,以及全面的集成工艺功能,因此它可以作为一个组件集成在完整的综合自动化解决方案中,成为制造行业中的创新系统解决方案。正是上面S7-1200这一系列的特点、决定了其在制造行业的应用越来越多。
S7-1200通信的特点
1:S7-1200与232通讯不需要使用232转485转换器,直接选用232通讯模块就可以了,这样对于一些232接口的设备可以做到全双工通讯.
2:,可以扩展三个通讯模块,
3:本体集成以太网口,支持TCP NATIVE通讯,特别是对于一些OEM设备制造商非常有用.
4:S7-1200的自由口通讯功能使用更简单,S1200在通讯方面更象S7300,通讯编程更简单了,但是自由度更象S7200,但比S7200置起来更简单,不需要去记16进制代码,这对于一些国产仪表的通讯很方便.
S7-1200是西门子的新一代的控制器,通讯方面,作为200的升级产品,1200不支持DP等应用比较广泛的通讯协议,但保留了强大的自由口通讯功能;S7-1200与S7-300在串口通信比较起来基本上一样,但在作Modbus的通信时不需要额外的Dongle来支持。
生活就是不断寻找你想要的东西
Automann
至圣

经验值:18354
发帖数:6289
精华帖:137
20楼    2011-11-29 19:54:18
精华帖  主题:回复:应用探讨——S7-1200 通信的应用
S7-1200集成的以太网接口的通信功能
S7-1200集成的以太网接口的通信功能极为强大,为了实现PLC与计算机的通信,需要用计算机的控制面板的“网络连接”功能来设置以太网接口的连接属性,选中“Internet协议(TCP/IP)”,设置接口的IP地址和子网掩码。IP地址的前3个字节(子网地址)为192.168.0,第4个字节(子网内设备的地址)可以取任意值,只要不与网络中其他设备的IP地址重叠就行了。
1.用于下载、上载、监控和故障诊断
S7-1200与计算机通信值需要一根普通的网线就可以了,用笔记本电脑在现场下载程序和监控非常方便。CPU可以使用直通的或交叉的以太网电缆进行通信。
一对一的通信不需要交换机,两台以上的设备通信需要交换机。
2.用于S7-1200 CPU之间的通信
S7-1200 CPU之间的通信使用紧凑型指令TSEND_C和TRCV_C,它们除了发送或接收功能外,还可以建立和断开连接。
可以使用ISO-On-TCP连接或TCP连接,连接参数采用图形方式组态。
3.S7-1200与S7-300/400采用ISO-on-TCP和TCP连接的以太网通信
S7-300/400需要配置以太网模块,或使用有以太网接口的CPU。S7-1200调用TSEND_C和TRCV_C指令,S7-300/400调用AG_SEND和AG_RCV指令。双方都需要组态连接,通信伙伴为“未指定”。
4.S7-1200与S7-300/400采用S7连接的以太网通信
在S7通信中,S7-1200只能作服务器,不需要对它的S7通信组态和编程。S7-300/400在通信中做客户机,需要用STEP 7的网络组态工具NetPro建立S7单向连接,调用PUT和GET指令来实现通信。
5.S7-1200与S7-200采用S7连接的以太网通信
S7-200需要配以太网模块CP 243-1,S7-1200的以太网接口在S7通信中只能作服务器,在通信中它是被动的,不需要作任何组态和编程的工作。S7-200 CPU在通信中作客户机,需要用S7-200的以太网向导来组态,并调用组态时生成的指令来实现通信。
追求完美
sunny999
侠圣

经验值:3419
发帖数:1836
精华帖:6
21楼    2011-11-29 20:15:52
精华帖  主题:回复:应用探讨——S7-1200 通信的应用
我们主要使用S7-1200CPU、DIDO模块以及通信模块与变频器、仪表通信,涉及USS协议和Modbus协议。
感觉库指令非常方便,非常容易理解,只要有些PLC知识的人都可以很快的了解和使用。
但是USS或Modbus通信,需要注意REQ时序的切换,以及排除通信线路干扰造成的影响。
使用USS通信时,每个通信模块可以带16个变频器,共3个模块可以带48个变频器。
Modbus倒没有具体的数字限制,但是要充分考虑到所有设备读写一个循环的时间,也不宜带的设备过分,而一个通信模块上的设备访问速度太慢
Better and More !
Automann
至圣

经验值:18354
发帖数:6289
精华帖:137
22楼    2011-11-29 21:45:14
精华帖  主题:回复:应用探讨——S7-1200 通信的应用
用基于以太网的OPC通信实现S7-1200与WinCC的通信
WinCC不能直接访问S7-1200 PLC,需要用软件SIMATIC NET的OPC功能来解决这一问题。作者使用的是SIMATIC NET 2007。操作步骤如下:
1)在STEP 7中生成一个PC站点,在组态时将OPC服务器插入1号槽,将计算机的通用以太网卡插入2号槽。
2)用SIMATIC NET的站组态编辑器组态PC站。
3)在STEP 7的网络组态工具NetPro中为PC站点组态一个单向S7连接,通信伙伴为“未指定”,采用S7-1200的IP地址。
4)用SIMATIC NET的OPC Scout工具生成OPC的条目,即S7-1200中的变量。
5)在WinCC V6.2中添加OPC驱动程序,在变量表中添加OPC的条目(见下图)。
6)组态画面上的指示灯、按钮和输出域,它们通过OPC的条目与S7-1200中的变量连接起来。
7)在系统运行时,画面上的按钮将起动和停止信号发送到S7-1200,PLC程序运行的结果用画面上的指示灯显示。PLC中动态变化的变量用输出域显示。实验表明OPC通信的响应速度很快。


详情见《S7-1200 PLC编程及应用》第2版
追求完美
Automann
至圣

经验值:18354
发帖数:6289
精华帖:137
24楼    2011-11-30 12:39:45
精华帖  主题:回复:应用探讨——S7-1200 通信的应用
S7-1200与精简系列面板的以太网通信的实现
为了实现通信,需要完成下列操作:
1.在TIA Portal中组态它们之间的逻辑网络连接,设置CPU和HMI的IP地址分别为192.168.0.1和192.168.0.2。设置计算机的子网地址为192.168.0,IP地址的第4个字节只要不与CPU和HMI的冲突就可以了。它们的子网掩码均为255.255.255.0。
2.组态精简系列面板的画面。我使用的人机界面是5.7in的彩色面板KTP 600 PN。
3.用精简系列面板的控制面板设置它的以太网接口的IP地址为192.168.0.2,子网掩码为255.255.255.0。
4.用网线连接计算机和面板的以太网接口,下载HMI的组态信息。
5.用网线连接S7-1200和面板的以太网接口,就可以实现它们之间的通信了。
点击画面上的“起动”按钮(见下图),通过通信,PLC中的变量“起动”变为1状态,由于PLC中梯形图的运行,变量“水泵”变为1状态,画面上与该变量连接的指示灯亮。
点击画面上的“停止”按钮,PLC中的变量“停止”变为1状态,其常闭触点断开,由于梯形图的运行,变量“水泵”变为0状态,画面上的指示灯熄灭。
详细的操作方法见《S7-1200 PLC编程及应用》第2版。


追求完美
Automann
至圣

经验值:18354
发帖数:6289
精华帖:137
25楼    2011-12-01 15:30:44
精华帖  主题:回复:应用探讨——S7-1200 通信的应用
S7-1200作主站的Modbus RTU通信
S7-200和 S7-1200可以实现Modbus RTU通信,它们都可以作通信中的主站或作从站。S7-1200需要增加一块RS485通信模块。在下面的例子中,S7-1200作主站,S7-200作从站。
在S7-1200的初始化组织块OB100中调用MB_COMM_LOAD指令(FB1080),来组态通信接口,设置通信的波特率、奇偶校验方式。
MB_MASTER指令(FB1081)用于主站的Modbus通信。在REQ输入(见图1)的上升沿,将数据发送到从站。
MB_ADDR是站地址。MODE用于选择Modbus功能的类型。DATA_ADDR是要访问的从站数据的起始地址。MODE和DATA_ADDR一起确定报文中的功能代码。
DATA_LEN是要访问的数据长度。DATA_PTR是要读取或写入数据时用到的本站的源地址或目标地址。DONE为1表示操作已完成,BUSY为1表示正在处理任务。



图1
图2是S7-200的Modbus从站通信程序。刚进入RUN模式时,执行一次MBUS_INIT(Modbus初始化)指令。
S7-200的模式开关在RUN位置时(SM0.7 = 1),才能执行Modbus协议通信。模式开关切换到TERM位置(SM0.7 = 0)时,将SM30.0 复位,通信模式被设置为PPI协议。



图2
在S7-1200的数据块DB3中生成一个数据类型为Word的数组,设置该数组前3个元素的初始值。
在S7-1200的I0.0的上升沿,图1左边的指令将DB3的前3个字(DBW0~DBW4)写入S7-200的VW100~VW104。在S7-1200的I0.1的上升沿,图1右边的指令读取S7-200的VW100~VW104,然后保存到DB3的DBW6~DBW10。监控DB3,可以验证通信是否实现。
S7-200的V存储区被默认为有断电保持功能。用状态表可以看到S7-1200的数据被成功地写到了VW100~VW104。
详细的操作方法见《S7-1200 PLC编程及应用》第2版。
追求完美
Automann
至圣

经验值:18354
发帖数:6289
精华帖:137
26楼    2011-12-01 15:39:34
精华帖  主题:回复:应用探讨——S7-1200 通信的应用
S7-1200与变频器的USS协议通信
1.设置变频器的参数
USS通信使用变频器集成的RS-485接口,S7-1200需要配备RS485通信模块。每个RS485模块最多可以与16个变频器通信,每个CPU最多可以连接3个通信模块。
需要设置变频器MM440与通信有关的下列参数:P0700[0] = 5(通过USS通信接收命令),P1000[0] = 5(频率设定源来自USS通信),基准频率、波特率、USS从站地址、USS协议的过程数据PZD的长度和参数标示符PKW的长度。
2.S7-1200的编程
在主程序OB1中调用功能块USS_DRV(FB1071)来控制变频器(见图1)。应为每个变频器调用一次USS_DRV,调用时需要指定功能块的背景数据块。参数DRIVE是变频器的USS地址(1~16)。PZD_LEN是PLC与变频器通信的过程数据PZD的字数,采用默认值2。



图1



图2
3.PLC监控变频器的实验
用基本操作面板设置好变频器的参数,将程序下载到PLC,令PLC运行在RUN模式,用以太网接口监控PLC。接通变频器的电源,用基本操作面板显示变频器的频率。
打开OB1,启动程序状态监控功能(见图1)。将参数SPEED_SP的值设置为基准频率的80%。接通I0.0对应的小开关,电动机开始旋转。USS_DRV的参数SPEED接近80.0%,输出位RUN_EN为1,表示变频器正在运行。
令I0.0为0状态,电动机停车,RUN_EN变为0状态。运行时断开I0.1对应的小开关,电动机自然停车。运行时断开I0.2对应的小开关,电动机快速停车。可以用方向控制位DIR对应的I0.3改变电动机旋转的方向,输出位D_DIR的值和输出参数SPEED的符号随之而变。
故障确认位F_ACK用于确认变频器发生的故障,复位变频器的故障位。位变量FAULT为1表示变频器有故障。
我还做过一台S7-1200控制多台变频器的实验,和用S7-1200读写变频器参数的实验。感觉S7-1200用USS协议监控变频器和读写变频器参数非常方便,很容易实现。
详细的操作方法见《S7-1200 PLC编程及应用》第2版。
追求完美
西门子_周鹏科
游民

经验值:73
发帖数:14
精华帖:1
27楼    2011-12-05 13:39:49
精华帖  主题:S7-1200 通信在地铁低压控制系统中应用
在地铁低压控制系统中,使用了S7-1200的MODBUS-RTU通信协议,连接了二十多个siemens
PAC3200仪表,通过MODBUS-RTU通信协议,在PLC中读取仪表的电压,电流,功率等数据;
接着利用了s7-1200的ETHERNET 通信特性,通过ETHERNET直接和触摸屏KTP600进行通信,
在触摸屏上显示多个仪表的电压,电流,功率等数据;
这样利用S7-1200的MODBUS和ETHERNET通信协议,使多个仪表的数据都可以在中控室看到,更容易地监控现场低压控制系统的运行状态。
Automann
至圣

经验值:18354
发帖数:6289
精华帖:137
29楼    2011-12-05 22:59:00
精华帖  主题:回复:应用探讨——S7-1200 通信的应用
S7-1200之间的开放式用户通信
S7-1200之间的开放式用户通信组态非常方便,在网络视图中把一台CPU的以太网接口的小方框拖拽到另外一台CPU的以太网接口的小方框上(见下图),自动生成名称为“PN/IE_1”的连接。



为了实现通信,双方需要调用TSEND_C发送数据,调用TRCV_C接收数据(见下图)。



选中指令TSEND_C,然后选中下面的巡视窗口的“属性”→“组态”选项卡左边的“连接参数”组(见下图),对通信参数组态。



连接类型可选ISO-on-TCP或TCP。
详细的编程组态方法见《S7-1200 PLC编程及应用》第2版。
追求完美
Automann
至圣

经验值:18354
发帖数:6289
精华帖:137
30楼    2011-12-05 23:20:29
精华帖  主题:回复:应用探讨——S7-1200 通信的应用
S7-1200与S7-300/400的以太网通信
S7-1200与S7-300/400之间的以太网通信可以使用ISO-on-TCP、TCP和S7连接。
如果采用ISO-on-TCP和TCP连接,S7-1200的OB1中调用TSEND_C和TRCV_C,组态通信时设置IP地址和连接类型。通信伙伴(S7-300)的“端点”为“未指定”(见下图)。



S7-300需要设置CP通信模块的IP地址,在NetPro中建立一个连接,“连接伙伴”为默认的“未指定”(见下图)。



如果采用ISO-on-TCP和TCP连接,S7-300/400使用以太网模块,则调用AG_SEND和AG_RCV指令。
如果采用S7连接,S7-1200只能作服务器,不需要对它的S7通信组态和编程。S7-300/400需要建立S7单向连接,调用PUT和GET指令来实现通信。
详细的编程组态方法见《S7-1200 PLC编程及应用》第2版。
追求完美
要有光
游士

经验值:216
发帖数:28
精华帖:2
31楼    2011-12-08 14:01:11
精华帖  主题:回复:应用探讨——S7-1200 通信的应用
公司新到了一台设备,用S7-1200通过网线连接触摸屏,通过脉冲输出控制了两台伺服。因为程序要做一点小改动,我在PLC和触摸屏中间加了个无线路由器,并把笔记本也直接连上,一次通信成功。不过笔记本用无线连接的话虽然可以PING通PLC却无法下载程序,不知什么原因。
S7-1200的脉冲控制功能非常好用,直接分为几个功能块(使能,速度控制,相对位置控制,绝对位置控制等),参数配置好以后不用再去计算脉冲个数之类的东西。虽然刚开始的时候有点别扭,但是熟悉一下后发现编程思想很不错,很像我之前用过的SEW伺服通信控制方式。
要有光,可以看得更远。
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。