签到有奖
消息提醒
运维工程师专区
官方商城
扫码分享好友 任选多种周边
程序的结构是从S7_300转化到博途中的一段德国人编写的SCL程序
在第12行使用 了FOR #i := 1 TO 5 DO
在第17行要使用FOR #i := 1 TO 16 DO
程序在S7-300中是正常编译的,但在博途中就出现了错误,
完全没理解博途中这样写程序的目的,
或者是我转换程序出现错误了吗?
程序内容:
OUT
编译后出现的错误:
变量的定义:
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1709297&b_id=66&s_id=0&num=29
循环套娃能用同一个变量?
我也不理解,但是在step7中是可以
源程序截图看看
把#i换掉就可以了
别使用Static变量,把 i定义在INOUT,Temp中都可以
源程序截图上来,或者定义另外的一个temp类型中的int变量作为循环的变量就行了。
temp中定义i比较好,你就认为一个临时变量,没有含义的,从0到5,到下面就是从0到9。
不知道楼主需要做什么,但只是从语法上来说博图阻止你这样做显然不合适,我支持你。
300上允许吗?那300显然比较理解人性。
可以使用的
定义在Temp里只要分开是可以一直用1个循环的,定义在静态变量里的真没试过
博图里现在不允许在FOR循环内对I进行修改了
应该是编译器的区别,不允许换个变量也没啥毛病
博图对语法的检查更严格了,不允许在FOR循环内对循环变量进行修改了,必须使用两个不同的变量了。
换个变量名吧
刚遇到过……起始值不允许重复使用即多重赋值……前面言的改变变量类型或其它的确都能解决问题。
这样限制看起来逻辑更严谨
感谢分享,学习学习了!
分享
扫码分享好友 任选多种好礼
收藏
有帮助
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
密码至少8位,包含大、小写字母,数字和符号至少三种。
允许邮箱和手机接收来自支持中心网站的信息
我已同意《支持中心网站注册协议和隐私政策》
微信登录扫码一键登录
验证码登录
密码登录
二维码失效点击重试
打开微信扫一扫,快速登录/注册
未注册手机验证后自动登录,注册即代表同意《支持中心网站注册协议和隐私政策》
三日内免验证登录
短信登录
登录