控制工程网首页 | 产品 | 在线研讨会 |  视频 | 空间 | 论坛 | 博客 
我的空间
用户名:
密 码:
我要加入该社区!   注册新会员
总共 , 当前 /
楼主:发表于:2016/1/6 19:47:01,查看1461次

各位大侠,我想写一个在DB块循环采数的程序,要求是在一个db块里有100个双整数的数值,一个脉冲触发,将第一个数值传到md100里,再来一个脉冲触发,将第二个数值写到md100里,如此类推,传到第100个以后,又回到第一个数值,一直循环。

现在写了一半,不知道如何写下去


L L#0 初始化计数器

T MD10 

opn db100 打开数据块

L P#0.0 数据块的初始地址

lar1

l dbd[ar1,p#0.0]

t md100 写入目标中间变量

2楼:回复于:2016/1/8 19:29:10

这个程序我做过,一开始是用循环来做的但是老失败,问题就是在初始化的问题上,所以我直接用中间变量MD310,只要没有用到那么肯定是为0的,以下是程序:

      OPN   DB    100

      A     M    309.0 触发的按钮

      FP    M    309.1

      JCN   B005

      L     DBW [MD 310]  //MD310是存放指针用的,要保证取一个没有用过的

      T     MD   100      //取出的数放在的位置

      L     MD   310

      L     3168           //(100-1)*32

      <D                  //将指针的值进行比较是否超过了100个双整数,

      JCN   B006

      L     MD   310

      INC   32

      T     MD   310      //地址自加

      JU    B007

B006: L     0

      T     MD   310

B005: NOP   0

B007: NOP   0

3楼:回复于:2016/1/9 15:45:33

用库啊,库里有双截棍!记得库里有add tab(大概是fc84?)和FIFO(fc95?不是太记得),填表和先进先出指令库,这是把数据当作数组。还有就是可以用sfc20blockmove把数据当作一个块。

自己编的话就用指针,个人觉得存储器指针更灵活一些,指针可加可减,而寄存器指针只能加。脉冲到来,指针偏移两个字


4楼:回复于:2016/1/10 19:21:00

用库啊,库里有双截棍!记得库里有add tab(大概是fc84?)和FIFO(fc95?不是太记得),填表和先进先出指令库,这是把数据当作数组。还有就是可以用sfc20blockmove把数据当作一个块。

自己编的话就用指针,个人觉得存储器指针更灵活一些,指针可加可减,而寄存器指针只能加。脉冲到来,指针偏移两个字


总共 , 当前 /
  • 发表回复
请先登录,在回复。
  • 社区公告
  • 西门子自动化社区是西门子工业业务领域在本站开设的官方互动社区,旨在提供西门子工业业务领域的最新产品、技术和解决方案,同时为用户和西门子之间提供一个互动交流的平台。工业业务领域由工业自动化集团、驱动技术集团、客户服务集团以及冶金技术部构成,在中国拥有62个办事处以及14家运营公司。如欲了解更多信息,请访问:http://www.industry.siemens.com.cn。
  • 社区专家
  • 社区赞助商
  • 通过本社区和厂商联系
1.我有以下需求:
我想得到贵公司产品详细资料
我想得到贵公司产品的价格信息
我让贵公司产品销售人员联系我
我让贵公司技术支持人员联系我
2.详细的需求:

(不支持Html)
姓名:
单位:
电话:
邮件:
  • 网友反馈
  • 西雨 在2024/05/15留言
  • 留言类型:我让贵公司技术支持人员联系我,
  • 详细留言:6AV6 642-0BA01-1AX1现在客户的这个产品型号坏了,需要替换
  • 李国强 在2024/05/15留言
  • 留言类型:我想得到贵公司产品详细资料,我让贵公司技术支持人员联系我,
  • 详细留言:你好!请问已停产的BT200总线测试仪有替代产品吗?型号和价格
  • 吴鹏翔 在2024/04/30留言
  • 留言类型:得到贵公司产品详细资料,得到贵公司产品的价格信息,
  • 详细留言:请提供PLC S7-1500 和变频器的资料和价格信息
更多请进入空间管理中心查看
© 2003-2024
本页面信息涉及广告内容