6ES7211-1BE40-0XB0北京西门子授权代理商
- 供应商
- 浔之漫智控技术(上海)有限公司
- 认证
- 联系电话
- 158****1992
- 全国服务热线
- 158****1992
- 经理
- 聂聪
- 所在地
- 上海市松江区广富林路4855弄88号3楼
- 更新时间
- 2023-10-26 04:00
6es7211-1be40-0xb0北京西门子授权代理商
s7-1200 与 s7-1200 之间的以太网通信可以通过 tcp 协议来实现,使用的通信指令是在双方 cpu 调用t-block (tsend_c,trcv_c,tcon,tdiscon,tsend,trcv) 指令来实现。通信方式为双边通信,因此tsend 和 trcv 必须成对出现。
硬件和软件需求及所完成的通信任务硬件:
① s7-1200 cpu
② pc(带以太网卡)
③ tp电缆(以太网电缆)
软件:
step7 v11 or higher
所完成的通信任务:
① 将plc_1 的通信数据区 db3 块中的 100 个字节的数据发送到 plc_2 的接收数据区 db4 块中。
② 将plc_2 的通信数据区 db3 块中的 100 个字节的数据发送到 plc_1 的接收数据区 db4 块中。
1. 打开 step7 v11 软件并新建项目
在 step7 v11的 “portal view” 中选择 “create new project” 创建一个新项目
2. 添加硬件并命名plc
然后进入 “project view”,在“project tree” 下双击 “add newdevice”,在对话框中选择所使用的s7-1200 cpu添加到机架上,命名为 plc_1,如图1所示。
同样方法再添加通信伙伴的s7-1200 cpu ,命名为 plc_2。
图1. 添加新设备
为了编程方便,使用 cpu 属性中定义的时钟位,定义方法如下:
在 “project tree” > “plc_1” > “device configuration” 中,选中 cpu,然后在下面的属性窗口中,“properties” > “system and clock memory”下,将系统位定义在mb1,时钟位定义在mb0,如图2所示。
时钟位我们主要使用 m0.3,它是以2hz 的速率在0和1之间切换的一个位,可以使用它去自动激活发送任务。
图2. 系统位与时钟位
3. 为 profinet 通信口分配以太网地址
在 “device view”中点击 cpu 上代表profinet 通信口的绿色小方块,在下方会出现profinet 接口的属性,在“ethernet addresses” 下分配ip 地址为 192.168.0.1 ,子网掩码为255.255.255.0,如图3.所示。
图3. 分配ip 地址
同样方法,在同一个项目里添加另一个新设备s7-1200 cpu 并为其分配 ip 地址为192.168.0.2
4. 创建 cpu之间的逻辑网络连接
在项目树 “project tree”>“devices & networks” >“networks view”视图下,创建两个设备的连接。用鼠标点中 plc_1 上的profinet通信口的绿色小方框,然后拖拽出一条线,到另外一个plc_2上的profinet通信口上,松开鼠标,连接就建立起来了,如图4所示。
图4. 建立两个 cpu的逻辑连接
① 在个 cpu 中调用发送通信指令,进入 “project tree” > “ plc_1” > “programblocks” > “ob1” 主程序中,从右侧窗口 “instructions” > “communications”> “open user communications”下调用 “tcon” 指令,创建连接,如图5所示。
图5. 调用“tcon”通信指令
② 创建db2 分配连接参数,见图6所示
图6. 创建连接数据块 db2(con_db)
end point | :可以通过点击选择按钮选择伙伴cpu :plc_2 |
connection type | :选择通信协议为 tcp(也可以选择 iso ontcp 或udp协议) |
connection id | :连接的地址 id 号,这个 id号在后面的编程里会用到 |
connection data | :创建连接时,生成的con_db块。见图2所示 |
active connection setup | :选择本地 plc_1作为主动连接 |
address details | :定义通信伙伴方的端口号为:2000;如果选用的是iso on tcp 协议,则需要设定的tsap 地址(ascii 形式),本地 plc_1可以设置成“plc1”,伙伴方 plc_2可以设置成“plc2”。 |
① 调用 “tsend” 在ob1内调用 发送100个字节数据到plc2中
进入 “project tree” > “ plc_1” > “program blocks” > “ob1”主程序中,从右侧窗口 “instructions” > “communications” > “open usercommunications”下调用 “tsend” 指令,如图8所示。
图8. 调用 tsend
② 创建并定义plc_1的发送数据区 db 块。
通过“project tree”>“plc_1”>“program blocks”>“add newblock”,选择“data block” 创建 db 块,选择寻址,点击“ok”键,定义发送数据区为100个字节的数组,如图9及图10所示。
图10. 定义发送数据区为字节类型的数组 图 plc1_tsendc_data
③ 定义 plc_1 的“tsend”发送通信块接口参数,如图11所示。
req | := m0.3 | // 使用 2hz 的时钟脉冲,上升沿激活发送任务 |
id | : = 1 | //创建连接id |
len | := 100 | //发送数据长度 |
data | := p#db3.dbx0.0 byte 100 | // 发送数据区的数据,使用指针寻址时,db块要选用寻址 |
输出接口参数:
done | := m300.0 | //任务执行完成并且没有错误,该位置 1 |
busy | := m300.1 | // 该位为 1,代表任务未完成,不能激活新任务 |
error | := m300.2 | //通信过程中有错误发生,该位置 1 |
status | := mw302 | //有错误发生时,会显示错位信息号 |
为了实现 plc_1 接收来自 plc_2 的数据,则在 plc_1 中调用接收指令t_rcv 并配置基本参数。
① 创建并定义plc_1的接收数据区 db 块。
通过“project tree”>“plc_1”>“program blocks”>“add newblock”,选择“data block” 创建 db 块,选择寻址,点击“ok”键,定义发送数据区为100个字节的数组,如图12及图13所示。
图13. 定义接收数据区为字节类型的数组
② 调用 “trcv” 在ob1内调用
进入 “project tree” > “ plc_1” > “program blocks” > “ob1”主程序中,从右侧窗口 “instructions” > “communications” > “open usercommunications”下调用 “trcv” 指令,配置接口参数,如图14所示。
图14. 调用 trcv 指令并配置接口参数
参数说明:
输入接口参数:
en_r | := true | // 准备好接收数据 | |||||||||||||
id | := 1 | // 连接号,使用的是 tcon 的连接参数中 id号 | |||||||||||||
len | // 接收数据长度为 100 个字节 | ||||||||||||||
data | := p#db4.dbx0.0 byte 100 | // 接收数据区的地址
注意:len设置为 65535 可以接收变长数据。 西门子s7-1200 cpu的面板,以及s7-1200 cpu的扩展能力。s7-1200cpu将微处理器、集成电源、输入电路和输出电路集成到一个设计紧凑的外壳中,以形成功能强大的plc。图中所示为电源接口位置。 电源接口位置 s7-1200cpu有三类状态指示灯,用于指示cpu模块的运行状态。其中run/stop指示灯纯橙色指示stop模式,纯绿色指示run模式,闪烁指示cpu正在启动。error状态指示灯,红色闪烁指示有错误,如cpu内部错误,存储卡错误或组态错误等,纯红色指示硬件出现故障,maint状态指示灯在每次插入存储卡时闪烁,此处为存储卡插槽和io状态指示灯,通过io状态指示灯的点亮或熄灭,来指示各种输入或输出的状态。 io状态指示灯 各种数字量信号模块还提供了指示模块状态的诊断指示灯,绿色指示模块处于运行状态,红色指示模块有故障或处于非运行状态。各模拟量信号模块为各路模拟量输入和输出提供了io状态指示灯,绿色指示通道已组态且处于激活状态,红色指示个别模拟量输入或输出处于错误状态。此外各模拟量信号模块还提供有指示模块状态的诊断指示灯,绿色指示模块处于运行状态,红色指示模块有故障或处于非运行状态。 诊断指示灯 s7-1200 cpu提供了一个profinet接口,用于网络通信。s7-1200cpu还提供了两个指示profinet通信状态的指示灯,打开底部端子块的盖板可以看到,link指示灯点亮时,指示连接成功。xtx指示灯点亮时,指示传输活动。拆下此处挡板可以安装一个信号板,通过信号板可以在不增加空间的前提下,给cpu增加io点数。另外s7-1200的接线端子是可拆卸的。 安装信号板 cpu的扩展能力。s7-1200提供了各种信号模块和信号板,用于扩展cpu的能力,还可以安装附加的通讯模块,以支持其他通信协议。由于s7-1200为新推出的紧凑型控制器,产品更新速度非常快,目前s7-1200可以通过扩展多八个io信号模块来支持更多的数字量和模拟量输入输出。数字量信号模块,包括数字量输入模块、数字量输出模块和数字量输入输出模块,模拟量信号模块,包括模拟量输入模块、模拟量输出模块和模拟量输入输出模块。 信号模块 西门子s7-1200信号板有八种类型,可扩展数字量输入输出和模拟量输出。s7-1200支持多三个通信模块,实现点到点的串行通信。目前s7-1200提供的串行通信模块有rs232模块和rs485模块。 |
展开全文