SIEMENS PTP模块的2吃

         之前发过一个PTP编程方法的系列帖。PTP就是指自由通讯。帖子连接如下:

    https://www.ad.siemens.com.cn/club/bbs/PostStory_1963674_80.html#anch

    这2天探索了PTP模块的2吃。所谓2吃,就是针对一个PTP模块实时地频繁地进行232模式和485模式的切换。今天这帖跟大伙说说这事。

    先说工艺上。工艺上有2个分子泵(分子泵一种抽真空的高速泵)。这2个泵是一个厂家的,但是型号不同,一个是Mag型,这是一种大泵,工艺中也称为TB1。一种是Turbovac型,是一种小泵,工艺称为TB2。

    工艺的要求是:PLC与2个泵进行通信,通过通讯对2个泵进行监控。大泵通讯口是232,小泵通讯口是485,他们均采用USS协议。这个USS协议是我用程序编写的,没有采用博途库里面的块。这个问题先不表。

        根据工艺要求,我采用了ET200SP的PTP模块作为与泵通讯的模块。这个模块安装在2个泵旁边的子站中。

    这个模块的样子如下

图1

    图片看着大,实物不大。

    由于一个泵是232,另一个泵是485,所以选用2个PTP模块,一个模块用作232通讯,另一个模块用作485通讯。图纸如下

图,2    

    我编写了程序,2个泵用了同一个FB块,不同的背景数据块实现2个泵的PTP通讯。这很常规。在我之前的系列帖子中也有讲到这个例子。   

    在回顾上面图2的PTP模块时,我发现这个模块有个特点。端子1-10用于RS232,端子11-16用于RS485。为此,我联想了一下,能不能充分利用1个模块的端子同时与232泵和485泵通讯呢?1个PTP模块进行2吃。下文称为 “2in1” 。尝试一把。

    先改图

图,3

    图3中把2个泵的通讯线接到了一个PTP模块中。

    然后把之前的通讯程序稍作修改。了解我之前帖子的同行都知道,我编写程序习惯有层次。在这个案例中有层次的程序的优势显现了出来。我只需要将之前的程序中应用层改写一下,保证2个通讯不同时进行就可以了。

    经过调试,发现我的2吃想法可以实现。到目前已经稳定运行了2天了。也测试了2种异常情况。第一种异常是将PTP模块在运行中拔出然后再带电插回;第二种异常是切断一个泵的电源,这2种异常情况下,程序可以很好的适应。

    由于程序分层次,也比较大。无法在这里复制。如果有需要的同行,可以联系我。在这里我把程序的结构说一说。

,图 4

    Leybold_PB这个文件夹,先不用理会,这个是之前用PROFIBUS通讯的程序。

     Leybold_USS这个文件夹中的内容是一个PTP模块对应一个泵进行通讯的程序。这个文件夹是之前编写的。

     Leybold_USS_2in1这个文件夹是这次编写的,用于一个PTP模块对应2个泵通讯的程序。其中的一个FB是主要FB,PTP2in1_Leybold。这个FB中程序相对简单。这个块中主要调用了  Leybold_USS这个文件夹中的内容。这也是我之前强调的编程要分层次。虽然有些繁琐,但是好处很多。在实现2in1的功能时,80%的程序是之前1to1模式时编写的。当需要2in1模式时,直接拿来用就可以了。

    这里说说FB(PTP2in1_Leybold)的内容

,图5

    NEWWORK 1 用于触发通讯。要完成,定时功能,完成2个泵通讯不打架的功能。

    NEWWORK 4 用于配置PTP模块,收发,复位功能。每次触发本块,要对PTP模块进行配置,配置时,就包括了232/485的选择,波特率等的配置。这里强调,用软件进行配置可以与在硬件中配置相同的效果。但是软件中配置可以随时更改硬件配置。正是由于这一点,所以才可以对一个PTP模块实现频繁地实时地切换232/485工作模式。

    NEWWORK 6 用于AA。AA的作用在我之前的系列帖中有描述,这里不多介绍。

    NEWWORK 7 用于判定这次通讯结束,并为切换到另外一个泵通讯做准备工作。

    下面2张截图就是在OB1中调用PTP2in1_Leybold的情况

图6,大泵的调用

图7,小泵的调用

    这里面再介绍一个小技巧。要用一个泵通讯任务结束标志去开启另外一个泵的通讯任务。这种方式来对一个PTP模块进行时间2in1的工作分配。不要用定时器强行分配2个泵的通讯。

    西门子的1500PTP模块也可以这么用。

    这个帖也不短了,先说的到这里吧,以后有想到的,再跟帖。

    谢谢.

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值