全国服务热线 15821971992

西门子全国授权代理|PLC模块总代理

发布:2022-12-08 15:17,更新:2023-10-26 04:00

S7-200做PROFIBUS_DP主站连接P+F多圈编码器

S7_200plc只能作PROFIBUS_DP总线上的从站这是常识。但前不久有个项目,控制器是S7_200(226),系统中有一个传感器是P+F多圈编码器(DP接口)。要想获得编码器的数据只有用S7_200的自由端口模式来模仿DP主站才有可能实现。按这个思路,先在WLC(PC+CP5611+WinAC)上对P+F编码器进行组态,联通后再截取WLC与P+F编码器的握手数据包和数据交换包。
 WLC呼叫:   68 05 05 68 85 82 6D 3C 3E EE 16
 P+F回答:   68 0B 0B 68 82 85 08 3E 3C 02 05 00 FF 50 46 25 16
 WLC呼叫:   68 2C 2C 68 85 82 5D 3D 3E B8 0F 0F 0B 50 46 00 00 4A 00 00 10 00 02 00               00 00 00 00 00 00 00 00 00 00 82 00 00 00 00 00 00 7F FF 00 00 10 00 02 C4           16
 P+F回答:   E5
 WLC呼叫:   68 07 07 68 85 82 7D 3E 3E F1 D0 C1 16
 P+F回答:   E5
 WLC呼叫:   68 05 05 68 85 82 5D 3C 3E DE 16
 P+F回答:   68 3E 3E 68 82 85 08 3E 3C 00 0C 00 02 50 46 33 00 4A 01 00 00 20 00 10 00 00           00 10 00 00 00 10 01 01 09 09 00 00 00 00 00 FE CD 78 00 00 00 00 00 00 20 00           02 00 00 00 50 46 33 38 39 37 36 32 38 38 BD 16
 WLC请求数据:68 07 07 68 05 02 7D 00 00 00 00 84 16
 P+F回答数据:68 09 09 68 02 05 08 07 F7 8B 75 00 00 0D 16
根据以上握手和交换的数据包,用S7_200的自由口模仿WLC的呼叫,并接收P+F的回答数据包,再从回答数据包里摘出编码器的转角编码数据就大功告成了。

  由于梯形图是一种程序表示的形式,并非由硬件构成的控制电路,因此在画梯形图时,应注意和普通控制电路的不同之处,plc编程时应该遵循以下基本原则:
    (1)外部输入/输出继电器、内部继电器、定时器、计数器等软器件的逻辑触点可以多次重复使用,无需用复杂的程序结构来减少触点的使用次数。
    (2)梯形图的每一行都是从左母线开始,线圈接在右边。触点不能放在线圈的右边,而在继电接触器控制电路中,触点可以加在线圈的右边,这在PLC的梯形图中是不允许的。如图1 (a)表示。从图中不难看出编程者的意图是,当触点0.00、0.01、0.02都闭合时,线圈10.00被驱动得电。但在梯形图中由于触点不能与右母线相连,因此将图1 (a)转换成图1 (b)所示格式,既满足了程序的上述功能,又符合梯形图的编程规则。 


    图1    线圈未与右母线(或触点与右母线)相连情况的转换
    (a)不符合编程规格的梯形图;(b)符合编程规格的梯形图
    (3)线圈不能直接与左母线相连。由图2 (a)不难看出编程者的意图是,使程序一运行10.00、10.01线圈即被驱动。要达到这样的目的,可以使用一个程序中未被调用的内部继电器(如200.00)的常闭触点或者特殊继电器25(常通继电器)的常开触点来驱动它们,既满足了编程者的功能要求,又不违背梯形图编程规则,如图2 (b)所示。
    (4)同一编号的线圈在同一个主程序中连续使用两次称为同名双线圈输出。同名双线圈输出容易引起输出结果的不确定,编制程序时应尽量避免同名双线圈输出的情况,如何避免同名双线圈输出可以参考图3所示的方案。 


    图2    线圈直接与左母线相连情况的转换
    (a)不符合编程规格的梯形图;(b)符合编程规格的梯形图 


    图3    同名双线圈输出及其解决方案
    (a)原梯形图;(b)运行效果; 
    在梯形图程序中一般应尽量避免同名双线圈输出,因为这样会造成输出结果的不确定,如图 (a)所示为同名双线圈输出梯形图。在编程语法上,该梯形图并不违反规定,但在实际运行过程中,其结果有时会和编程者的期望大相径庭。不难看出(a)图中编程者的意图是,当支路1中的触点0.00、0.01都闭合时、或支路2中的触点0.02、0.03都闭合时、或两条支路中的所有触点都闭合时,线圈10.00都能被驱动。但在实际执行中,当触点支路1中的触点0.00、0.01闭合,而支路2中的触点0.02、0.03断开时,线圈10.00并不得电,结果如图 (b)所示。这是因为PLC采用循环扫描的处理方式。在输入采样后,中央处理器对梯形图自上而下进行运算。在运算阶电路时,线圈10.00是被驱动得电的,但运算到第二阶电路时,线圈10.00因触点0.02、0.03断开而不被驱动。在I/O刷新时,以后的运算结果为准进行输出,因而此时的线圈10.00是失电状态的。 
    (5)梯形图程序必须符合顺序执行的原则,即从左到右,从上到下地顺序执行,如不符合顺序执行原则的梯形图程序是无法输入编程软件的。如图4 (a)所示的桥式结构的梯形图,不难看出程序设计者的意图是,当支路l的所有触点均闭合、或支路2的所有触点均闭合、或支路3的所有触点均闭合、或支路4的所有触点均闭合时,线圈10.00被驱动得电。但此类梯形图由于不符合编程规则而无法输入编程软件或手持编程器,应将图4(a)转换成图4 (b)所示,才能利用编程软件或手持编程器写入PLC存储器中。 


    图4    桥式电路的转换
    (a)桥式电路图;(b)转换后的梯形图
    (6)梯形图中串联、并联触点使用的次数没有限制,可无限次地使用,如图5所示。
    (7)同一程序中两个或两个以上不同编号的线圈可以并联输出,如图6所示。 


    图5    触点的无限使用 


    图6    不同编号的多个线圈并联输出


联系方式

  • 地址:上海杨浦 上海市松江区广富林路4855弄88号3楼
  • 邮编:200093
  • 电话:15821971992
  • 经理:聂聪
  • 手机:15821971992
  • 传真:021-33556143
  • QQ:2724917714
  • Email:2724917714@qq.com