数据块的重复生成

在S5的OB21,OB22中(两者的程序完全相同)用“G”语句生成DB24、DB34两个数据块(另有两个预先编制的DB124、DB134),随即调用FB24,FB24中的程序如下:
 L     KF +0
 T     FW240
 C     DB24
 L     DW255
 L     KF +0
 ><F
 JC =M001
 M002:
 C     DB124
 DO   FW240
 L     DW0
 C     DB24
 DO   FW240
 T     DW0
 C     DB134
 DO   FW240
 L     DW0
 C     DB34
 DO   FW240
 T     DW0

 L     FW240
 L     KF+1
 +F
 T     FW240
 L     KF+255
 <=F
 JC =M002
 L    KF+0
 T    FW240
 M001:***
 BE

 注:DB124.DW255 = KH 0001,(CPU为S5-115U 943B)
 在循环程序中只用到DB24、DB34,(DB124、DB134在循环程序中不使用)用来记录机器上的一个主转动齿轮的齿数,通过记录该齿轮的齿轮脉冲来控制其它机构的动作,我试操作
 了这台设备,在自动运行过程中断电(10秒以上)上电,再按下自动运行启动按钮,仍然可以没有错误的运行,我试验了3次以上都没有问题。
 我的问题是:
 (1)G 语句生成的数据块的内容是全0,还是有随机值在其中?
 (2)每次断电上电都会重新生成相同的数据块么?(并且把上次通电时的数据块覆盖?)
 (3)用 G 语句生成数据块并写入数值后,断电的情况下,其中的数值会丢失么?(我没注意看这个型号的CPU有没有电池)
 (4)(我曾问过的问题的回答是:如果你已经预先编制了数据块,那么这个G DBX语句就可以忽略了。问题ID: 46270)在这次的问题的情况下,上次通电是由语句生成的数据块相对于断电上电后再次遇到“G”语句时情况,是不是与括号内的情况相同呢?
 (5)如果情况是相同或类似的,那么是不是可以这样认为:在第一次由“G”指令生成数据块后,在以后的断电上电调用OB21、OB22时,再次遇到这个“G”指令时,会认为是
 要生成的数据块已经有了,而忽略“G”语句,只要不出现数据块丢失的情况,这个“G”
 会一直被忽略。
 如果情况是这样的,就可以理解为什么这台设备可以在断电上电的情况下也不丢失动作了,但这样讲是对的么?

 
 曾给西门子技术支持打过电话,好像说是每次都要生成数据块,并且是全0,如果是这样的
 话好像就无法解释不丢失动作的功能了,正确的理解到底是怎样的,请高手们能给个详细彻底的答案,多谢了!!

 

最佳答案

程序已经告诉你答案了呀,FB24就是将DB124 的内容复制到DB24, DB134的内容复制到DB34。
   1如果是用G生成的话,那么肯定是0.
   2断电上电如果没有DB24 DB34的话,肯定会生成的。
   3生成的DB块和其它预先编制的DB块是一样的,断电保持的。(应该有电池的。)
   4 如果已经有DB24 DB34那么下次断电上电,G指令就不执行了,但这里要注意的是,你程序中的FB24还是执行的,那么这是否意味着复制工作是否一定会执行呢?程序的关键点就在
 L     DW255
 L     KF +0
 ><F
 JC =M001
 如果DB24 DW255 >< 0,那么就不复制,如果等于0就复制,这样就保证了断电上电后,只要DB24 DB34存在 DW255的值不为0,数据就不会清空和覆盖。
   5 和你想法一样。
   我觉得是这样的,编程的人将一些出厂初始值分别放在DB134 DB124中,如果你换了一台新的PLC,那么一上电,系统就会自动建立DB24 DB34,然后用DB24 DB34工作就可以了。这样保护了出厂值不受干扰。运行中间要是断电重启后,由于DB24 DB34的数据是保持的,重启后还可以继续操作。但要是数据乱了,想恢复出厂值,那么删掉DB24 DB34,重新上电,那么初始值就回来了。

 你可以将DB24 DB34数据做个备份,然后删除DB24 DB34 ,重新上电,你看看数据值是否就是DB124 DB134的数据,而且无法继续断电前的操作,而是恢复到初始值,实验如果是这样的话,应该就说明问题了。你也可以自己再加一个指令 G DB44,用一个没有使用过的DB, 断电上电,看看DB44的内容是否为0,就可以证明你的想法了。
 

提问者对于答案的评价:
好我试试看,谢谢!!

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc139257.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年6月1日 上午2:04
下一篇 2017年6月1日 上午2:04

相关推荐

  • s5需要组态硬件吗

    S5PLC需要组态硬件设备吗,用什么软件,如何组态? 最佳答案 s5的编程软件STEP 5 中没有STEP 7那样的硬件组态过程。S5-115U系列P…

    SIMATIC S5 2017年6月1日
  • USB接口转为S5的串口

    我的笔记本没有串口只有USB怎样才能与S 5的串口连接上 问题补充:请问S7 300/400的编程软件是否全部兼容 S5 的功能 …

    SIMATIC S5 2017年6月3日
  • 如何对S5的以太网卡件CP1430进行设置

    我采购S5的CP1430的以太网模块的驱动程序是装在软盘里的,按操作知道书还需要MS-DOS系统,有那问高手进行过设置,能否帮我说明,谢谢. 最佳答案 建议你看看《西门子工业网络通…

    SIMATIC S5 2017年6月3日
  • 怎样知道S5程序的大小?

    S5系统,想知道程序的大小,从而根据程序大小选择合适的存储卡,怎样才能知道S5程序的大小? 问题补充:谢谢各位指导。我在S5中:File→Blocks→Directory→Bloc…

    SIMATIC S5 2017年6月1日
  • s5 PLC 与触摸屏的通讯

    S5 和S7不同,和触摸屏通讯要通过编程,这个通讯的程序具体怎么编啊?咨询过专家,说的和笼统,就是调用S5的一个标准功能块,然后再生成DB块,但具体我不知道怎么弄啊!请专…

    SIMATIC S5 2017年6月3日
  • S5程序能在线更改吗?

    在找答案里见过类似的问题,我想确认一下是不是在有EPROM的情况下没办法在线更改程序? 因为暂时没办法改EPROM中的程序,只能先改CPU中的程序.另,如果不带EPROM…

    SIMATIC S5 2017年5月31日
  • op15可接的打印机

    最佳答案 你可以看看手册的第18章,有具体的连接方法。 但是并没有指定口中具体型号!只是说明了连接的具体办法。 如果没有手册,就给我发邮件吧! 提问者对于答案的…

    SIMATIC S5 2017年6月3日
  • S5转S7有错误

    ①No PLC tpye description found for called or addre…

    SIMATIC S5 2017年5月29日
  • 请教S5程序

    通过监控软件画面设定与在PLC内修改数据块DB253里DD180都可以传送给DD12,设定值彼此可以相互覆盖,但我编的程序改为DD254传送为什么DD12显示不出数值,但在数据块D…

    SIMATIC S5 2017年6月1日
  • 关于s5的一段程序

    A              &nbsp…

    SIMATIC S5 2017年6月1日