技术论坛

SCL赋值

作者 主题
新手

经验值: 10
发帖数: 1
精华帖: 0
主题:【探讨】SCL赋值


只看楼主 楼主 2021-04-23 19:34:33

请教大神,我现在有个这样的情况

现在我左的电机的反馈地址等于某一个数时IB的对应地址传到电流反馈值中,我想能不能做个变量电流的地址等于我的IB中括号里面 的数时,就直接等于这个赋值的数,用一个变量语句就完成,,有大神知道怎么做么



 
以下网友喜欢您的帖子:

  
重要声明:

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

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

奇侠

经验值: 8096
发帖数: 1308
精华帖: 6
回复:SCL赋值


只看楼主 1楼 2021-04-23 21:25:21

CASE指令....去看看那个吧


养活一团春意思,撑起两根穷骨头
以下网友喜欢您的帖子:

  
至圣

经验值: 43587
发帖数: 15780
精华帖: 61
回复:SCL赋值
推荐帖


只看楼主 2楼 2021-04-23 21:58:41

FOR ii := 5 TO 61  BY 7 DO

  if #当前电机电机电流反馈地址=ii then

     #"motorn-电流反馈值":="IB".DIB[ii];

end_if;

END_FOR;



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

  
游民

经验值: 113
发帖数: 1
精华帖: 0
回复:SCL赋值
推荐帖


只看楼主 3楼 2021-04-23 23:06:08
一句话即可:

#"motorn-电流反馈值":="IB".DIB[ #当前电机电机电流反馈地址= ];
 
以下网友喜欢您的帖子:

  
至圣

经验值: 43587
发帖数: 15780
精华帖: 61
回复:SCL赋值


只看楼主 4楼 2021-04-24 14:07:34

这不是之上谈兵,究竟哪个正确,测试一下就到了。


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

  
至圣

经验值: 13937
发帖数: 2008
精华帖: 43
回复:SCL赋值


只看楼主 5楼 2021-04-25 08:41:09

数组的索引寻址 不就解决问题了,SCL/LAD都支持


人生就像一场旅行!
以下网友喜欢您的帖子:

  
侠圣

经验值: 4243
发帖数: 583
精华帖: 3
回复:SCL赋值


只看楼主 6楼 2021-04-25 09:21:38

好的软件是从数据结构规划作起,新建DB块,在DBk中定义一个Index的int变量,在定义一个结构体数组motorn,它有两个int变量一个是地址,另一个是反馈值,软件就可以这样写了:


FOR DBk.index := 5 TO 61  BY 7 DO

      if DBk.motorn.地址 = DBk.index then

         DBk.motorn.反馈值 :="IB".DIB[DBk.index];

      end_if;

END_FOR;

为了方便管理,这个反馈值也可写到motorn下面,也就是说所有有关电机属性均写到montorn下面。




 
以下网友喜欢您的帖子:

  
侠圣

经验值: 2508
发帖数: 296
精华帖: 1
回复:SCL赋值


只看楼主 7楼 2021-04-25 10:08:23

感觉还是CASE 语句好


千万不要和杠精抬杠,因为他会把你拉低到他的水平,然后再恶心你
以下网友喜欢您的帖子:

  
侠客

经验值: 695
发帖数: 93
精华帖: 0
回复:SCL赋值


只看楼主 8楼 2021-04-27 16:24:06

if #当前电机电流反馈地址>=5 and #当前电机电流反馈地址<=61 and #当前电机电流反馈地址 mod 7=5 then

#motorn-电流反馈值:=ib.dib[#当前电机电流反馈地址];


以下网友喜欢您的帖子:

  
侠客

经验值: 684
发帖数: 145
精华帖: 0
回复:SCL赋值


只看楼主 9楼 2021-04-28 10:14:57

FOR ii := 5 TO 61  BY 7 DO

  if #当前电机电机电流反馈地址=ii then

     #"motorn-电流反馈值":="IB".DIB[ii];

   EXIT;

end_if;

END_FOR;



沒有最好,只有更好
以下网友喜欢您的帖子:

  
侠圣

经验值: 2852
发帖数: 223
精华帖: 1
回复:SCL赋值


只看楼主 10楼 2021-04-28 13:29:24
以下是引用18869966267在2021-04-23 23:06:08的发言 >3楼:一句话即可: #"motorn-电流反馈值":="IB".DIB[ #当前电机电机电流反馈地址= ];

正解。 楼主贴的程序里就没有循环的意思


 
以下网友喜欢您的帖子:

  
侠士

经验值: 1278
发帖数: 192
精华帖: 0
回复:SCL赋值


只看楼主 11楼 2021-04-28 16:42:02

用case语句适合   等于多少的时候执行一次

elsif 适合用条件变化的   你这个都是同一个变量判定   用case要简洁一些。


DeepCCC
以下网友喜欢您的帖子:

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