技术论坛

STL实现SCL_For循环

作者 主题
游士

经验值: 238
发帖数: 17
精华帖: 0
主题:【探讨】STL实现SCL_For循环


只看楼主 楼主 2022-02-22 13:15:24

以前的项目都是用1517,不过最近1517不太好买到,就用了319来代替。

没搞过300,所以在编程中遇到了一些小问题,比如LAD块不能添加SCL程序段,用1517都是混合编程,相当于得重新翻译,翻译的时候就遇到了一些问题,今天想和大家探讨一下用STL实现SCL_For循环,下面是我自己写的,有什么不对的地方或者有什么更好的方法希望大家不吝赐教~


我的目的是在一个执行条件后,DATA数组内的数据同步移动一次,比如DATA2=10,那么在条件执行后,DATA2=0,DATA3=10,再下一次,DATA3=0,DATA4=10,这个不知道有没有专业名词就说明这种移动。

这个是STL版本的

这个是SCL版本的。


DATA1是用来清这个数组的



 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1749155&b_id=66&s_id=0&num=3

至圣

经验值: 17406
发帖数: 1003
精华帖: 1
回复:STL实现SCL_For循环


只看楼主 1楼 2022-02-22 15:49:47

   利用指针间接寻址和循环指令就能实现了,如下程序是,从DB1.DBW0开始的19个数据,进行向后移动赋值;    

      LAR1  P#0.0

      A     M    200.0                  //执行的条件

      JCN   A001

      OPN   DB     1

      L     18                          //19个数据就18次的移动

A002: T     MW   202

      L     DBW [AR1,P#0.0]

      T     DBW [AR1,P#2.0]             //第i个数复制到第i+1个

      +AR1  P#2.0

      L     MW   202

      LOOP  A002                        //循环指令

A001: NOP   0



一个人在战斗
以下网友喜欢您的帖子:

  
游士

经验值: 238
发帖数: 17
精华帖: 0
回复:STL实现SCL_For循环


只看楼主 楼主 2楼 2022-02-22 17:54:15

回复:艾星落尘

  您这个方法从P#0.0开始向后移动,会把后面所有数据等同于P#0.0的值,要实现我这个,应该是P#98.0至P#100.0,P#96.0至P#98.0,这样就是同步移动了

下面这个是我改过的,您看下,有什么问题您指出,我再改进~这个我做了两个数据移动


      A     执行条件

      JCN   MYLABEL_1

//同步移动1

      OPN   #同步1使用DB块_1

      L     #ARRAY1循环次数

NEXT_1 : T  #TEMP2

      L     #指针地址1上限

      L     P#2.0

      -D

      T     #指针地址1上限

      LAR1  #指针地址1上限

      L DBW [ AR1 , P#0.0 ]

      T DBW [ AR1 , P#2.0 ]

      L     #TEMP2

      LOOP  NEXT_1

//同步移动2

      OPN   #同步2使用DB块_1

      L     #ARRAY2循环次数

NEXT_2 : T  #TEMP3

      L     #指针地址2上限

      L     P#2.0

      -D

      T     #指针地址2上限

      LAR1  #指针地址2上限

      L DBW [ AR1 , P#0.0 ]

      T DBW [ AR1 , P#2.0 ]

      L     #TEMP3

      LOOP  NEXT_2

MYLABEL_1 : NOP 0


以上,如果有-AR1这个指令,那就更好了



 
以下网友喜欢您的帖子:

  
至圣

经验值: 43587
发帖数: 15780
精华帖: 61
回复:STL实现SCL_For循环


只看楼主 3楼 2022-02-23 16:30:16

319可以用源文件编程,源文件时scl格式的,然后编译后生成实际的程序块。


活到老,学到老!为了生活学习吧!
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
STL实现SCL_For循环
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。