1.S7-300作客户机的S7通信
项目名称为“300_1200IE_S7”(见随书光盘中的同名例程),PLC_1(客户机)为CPU 314-2PN/DP,PLC_2(服务器)为CPU 1215C。组态时启用双方的MB0为时钟存储器字节。
在网络视图中连接两个CPU,创建S7连接,PLC_1的通信伙伴为“未知”。选中S7连接后选中巡视窗口中的“属性>常规>常规”,设置伙伴的IP地址为192.168.0.2(见图6-35)。连接的本地ID为1。
图6-35 网络视图与S7连接组态
选中左边窗口的“特殊连接属性”(见图6-36),可知连接为单向连接,由PLC_1主动建立连接。选中左边窗口的“地址详细信息”,本地和伙伴的TSAP分别为10.02和03.00。
图6-36 地址详细信息
验证通信是否实现的程序与项目“1200_1200IE_S7”基本上相同。在S7通信中,PLC_1作通信的客户机。在它的OB1中调用GET和PUT指令,除了ID为1以外,其他参数与图6-29中的相同。
PLC_2在S7通信中作服务器,不用编写调用GET和PUT指令的程序。在组态CPU的“保护”功能时,应激活复选框“允许从远程伙伴(PLC、HMI、OPC、…)使用PUT/GET通信访问”。
在双方的初始化组织块OB100中,预置DB1和DB3中要发送的100个字,将保存接收到的数据的DB2和DB4中的100个字清零。在PLC_2的OB1中,在周期为0.5s的时钟存储器位M0.3的上升沿,将要发送的第1个字加1。在PLC_1的OB33中,将要发送的第1个字加1。通信的实验方法与例程“1200_1200IE_S7”相同。
随书光盘中的例程“300_1500IE_S7”中,CPU 1516-3 PN/DP作S7单向通信的客户机,CPU 314C-2PN/DP作服务器。
2.S7-1200与S7-200SMART的S7通信
S7-200SMART是国内广泛使用的S7-200的升级换代产品。它继承了S7-200的诸多优点,指令与S7-200基本上相同。CPU集成了以太网端口和RS-485端口,CPU的最大I/O点数为60点。以太网端口除了用来下载程序和监控,还可以用来与其他S7 CPU或HMI通信。S7-200SMART可以作单向S7通信的客户机或服务器。
在随书光盘的例程“1200_SMART_S7”中(见随书光盘中的同名例程),只有一块作客户机的CPU 1215C,IP地址为192.168.0.1。组态时启用MB0为时钟存储器字节。
右键单击网络视图中CPU的以太网接口,执行快捷菜单命令“添加子网”,生成一个名为“PN/IE_1”的以太网(见图6-37)。单击工具栏上的“连接”,设置连接类型为S7连接。右键单击CPU,执行快捷菜单中的命令“添加新连接”。在“创建新连接”对话框中,采用默认的连接类型“S7连接”,默认的连接伙伴为左边窗口的“未指定”。复选框“主动建立连接”被自动选中,由S7-1200建立连接。单击“添加”和“关闭”按钮,新连接被创建。连接的本地ID为16#100,将在编程中使用。(www.xing528.com)
图6-37 S7连接组态
选中网络视图中的“S7_连接_1”,再选中下面的巡视窗口的“属性>常规>常规”,设置伙伴(S7-200 SMART)的以太网端口的IP地址为192.168.0.2。选中左边窗口的“地址详细信息”,设置本地TSAP为10.01,伙伴的插槽设置为1,TSAP为03.01。
为CPU 1215C生成DB3和DB4,在这些数据块中生成由100个整数组成的数组。不要启用数据块属性中的“优化的块访问”功能。
在S7通信中,CPU 1215C作通信的客户机。在它的OB1中调用指令GET和PUT(见图6-38)。S7-200 SMART的V区被映射为S7-1200的DB1,要读取的S7-200 SMART的VB100~VB299被映射为P#DB1.DBX100.0INT 100,要写入的S7-200 SMART的VB300~VB499被映射为P#DB1.DBX300.0INT 100。分别用DB3和DB4保存S7-1200要发送(即要写入)的数据和接收到(即读取到)的数据。周期为1s的时钟存储器位M0.5每秒钟将发送的第一个字DB3.DBW0加1。
在OB100中将要发送的DB3中的数据字初始化为16#1200,将保存接收到的数据的DB4中的各个字清0。
随书光盘中的“SMART作服务器.smart”是S7-200 SMART的程序,在它的编程软件的系统块中,设置以太网端口的IP地址为192.168.0.2。在OB1中,用仅在首次扫描接通的SM0.1的常开触点将V区中要发送的VW100~VW298初始化为16#0202,将保存接收到的数据的VW300~VW498清零,每秒钟将要发送的第一个字VW100加1。
图6-38 S7-1200的OB1中的程序
通信的实验方法与例程“1200_1200IE_S7”相同。图6-39和图6-40分别是S7-1200和S7-200 SMART接收到的部分数据,双方接收到第一个字在不断增大。
S7-200 SMART作客户机时,用它的编程软件的GET/PUT向导设置少量的参数,自动生成用于通信的子程序NET_EXE、保存组态数据的数据块和符号表。在OB1中调用NET_EXE,就可以实现用GET/PUT向导设置的S7客户机的通信功能(见参考文献[12])。
图6-39 S7-1200的监控表
图6-40 S7-200 SMART的状态图表
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。