技术论坛

简单SCL编程问题 关于FOR循环和变量名符号寻址

作者 主题
侠圣

经验值: 2058
发帖数: 457
精华帖: 1
主题:【探讨】简单SCL编程问题 关于FOR循环和变量名符号寻址


只看楼主 楼主 2020-09-16 21:20:44

让Tag_1到Tag_10都等于1请问怎么写呢

FOR #i := 1 TO 10 DO

    "Tag_i" := 1;

END_FOR;

初学,请多指教



 
以下网友喜欢您的帖子:

  
重要声明:

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

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

奇侠

经验值: 6776
发帖数: 1106
精华帖: 1
回复:简单SCL编程问题 关于FOR循环和变量名符号寻址


只看楼主 1楼 2020-09-16 22:22:15

Tag_i,使用数组表1-10 , 用 Tag [i ] :=1; 


 
以下网友喜欢您的帖子:

  
侠圣

经验值: 2058
发帖数: 457
精华帖: 1
回复:简单SCL编程问题 关于FOR循环和变量名符号寻址


只看楼主 楼主 2楼 2020-09-17 04:37:46
以下是引用和光同尘在2020-09-16 22:22:15的发言 >1楼

Tag_i,使用数组表1-10 , 用 Tag [i ] :=1; 

请问不用数组,直接用字符串表达式可以实现吗?


 
以下网友喜欢您的帖子:

  
侠士

经验值: 1278
发帖数: 192
精华帖: 0
回复:简单SCL编程问题 关于FOR循环和变量名符号寻址


只看楼主 3楼 2020-09-18 13:35:17

你的“tag_I"这个写法就代表变量 tag i 并不是变址的,而你没有tag i这个变量 所以出现了红色波浪线报错。

要用变址输入就要用数组  tag[i] 这样i的数值变化就代表数组不同位的表达 tag[0] tag[1]等。


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

  
侠圣

经验值: 2058
发帖数: 457
精华帖: 1
回复:简单SCL编程问题 关于FOR循环和变量名符号寻址


只看楼主 楼主 4楼 2020-09-18 20:43:12
以下是引用DeepChen在2020-09-18 13:35:17的发言 >3楼

你的“tag_I"这个写法就代表变量 tag i 并不是变址的,而你没有tag i这个变量 所以出现了红色波浪线报错。

要用变址输入就要用数组  tag[i] 这样i的数值变化就代表数组不同位的表达 tag[0] tag[1]等。

就是说只能用数组来表达变化的变量名是吧


 
以下网友喜欢您的帖子:

  
奇侠

经验值: 8095
发帖数: 1308
精华帖: 6
回复:简单SCL编程问题 关于FOR循环和变量名符号寻址


只看楼主 5楼 2020-09-20 10:11:28

也不一定,,,可以用间接寻址。。。。http://www.ad.siemens.com.cn/productportal/Prods/S7-1200_PLC_EASY_PLUS/SmartSMS/044.html



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

  
游侠

经验值: 341
发帖数: 19
精华帖: 0
回复:简单SCL编程问题 关于FOR循环和变量名符号寻址


只看楼主 6楼 2020-09-21 08:32:10

1:用符号寻址---数组的方式Tag[i]

2:   绝对寻址---DBx.DBB[i]



 
以下网友喜欢您的帖子:

  
侠圣

经验值: 2058
发帖数: 457
精华帖: 1
回复:简单SCL编程问题 关于FOR循环和变量名符号寻址


只看楼主 楼主 7楼 2020-09-21 21:11:11
以下是引用smars在2020-09-21 08:32:10的发言 >6楼

1:用符号寻址---数组的方式Tag[i]

2:   绝对寻址---DBx.DBB[i]


请问绝对地址是怎么写的?我照这个格式写上去是提示错误的呢


 
以下网友喜欢您的帖子:

  
游士

经验值: 192
发帖数: 20
精华帖: 0
回复:简单SCL编程问题 关于FOR循环和变量名符号寻址


只看楼主 8楼 2020-09-22 09:05:30

 Tag【i】:=1; 


 
以下网友喜欢您的帖子:

  
侠士

经验值: 1278
发帖数: 192
精华帖: 0
回复:简单SCL编程问题 关于FOR循环和变量名符号寻址


只看楼主 9楼 2020-09-22 15:57:39
以下是引用TIA很慢在2020-09-18 20:43:12的发言 >4楼

就是说只能用数组来表达变化的变量名是吧

以下是引用DeepChen在2020-09-18 13:35:17的发言 >3楼:你的“tag_I"这个写...

引用3楼详细内容:

你的“tag_I"这个写法就代表变量 tag i 并不是变址的,而你没有tag i这个变量 所以出现了红色波浪线报错。

要用变址输入就要用数组  tag[i] 这样i的数值变化就代表数组不同位的表达 tag[0] tag[1]等。

符号寻址应该就只有用数组了,绝对寻址可以参考6楼的格式,你要右键块,把优化块选项取消掉就可以绝对寻址了。


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

  
侠圣

经验值: 2058
发帖数: 457
精华帖: 1
回复:简单SCL编程问题 关于FOR循环和变量名符号寻址


只看楼主 楼主 10楼 2020-09-23 19:26:45

只能用数组的话,有些变量名称需要转存到数组当中才能使用,有些不太方便


 
以下网友喜欢您的帖子:

  
侠士

经验值: 1278
发帖数: 192
精华帖: 0
回复:简单SCL编程问题 关于FOR循环和变量名符号寻址


只看楼主 11楼 2020-09-25 16:57:59
以下是引用TIA很慢在2020-09-23 19:26:45的发言 >10楼

只能用数组的话,有些变量名称需要转存到数组当中才能使用,有些不太方便

那就用绝对地址模式啊  就不需要改变量名称   数据块不要勾选优化的块访问   就可以DBX.DBW【i】这样用了


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

  
侠圣

经验值: 2058
发帖数: 457
精华帖: 1
回复:简单SCL编程问题 关于FOR循环和变量名符号寻址


只看楼主 楼主 12楼 2020-09-27 19:55:06

如果要使用的话,就要把所有变量提前设计为数组

SCL不支持字符串符号表达式的变量


 
以下网友喜欢您的帖子:

  
侠士

经验值: 1658
发帖数: 87
精华帖: 0
回复:简单SCL编程问题 关于FOR循环和变量名符号寻址


只看楼主 13楼 2020-10-16 08:31:55

FOR i=1 TO 10 BY1 DO

  TAG[i]:=1;

ENDFOR



努力到无能为力,拼搏到感动自己!
以下网友喜欢您的帖子:

  
侠圣

经验值: 2557
发帖数: 203
精华帖: 0
回复:简单SCL编程问题 关于FOR循环和变量名符号寻址


只看楼主 15楼 2020-11-19 15:48:01

好像只能用数组吧。


技术无止境!
以下网友喜欢您的帖子:

  
侠圣

经验值: 2058
发帖数: 457
精华帖: 1
回复:简单SCL编程问题 关于FOR循环和变量名符号寻址


只看楼主 楼主 16楼 2020-11-30 07:28:33

只能用数组


 
以下网友喜欢您的帖子:

  
侠圣

经验值: 4871
发帖数: 741
精华帖: 10
回复:简单SCL编程问题 关于FOR循环和变量名符号寻址


只看楼主 17楼 2021-04-28 09:50:01

楼主的方法多出现在web脚本语言中,比如PHP。

用SCL还是好好熟悉它的语法,不支持的就不要强行做。


 
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
简单SCL编程问题 关于FOR循环和变量名符号寻址
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。