查看: 1295|回复: 13
收起左侧

[综合应用问题] AutoShop软件ST语言仿真的一个BUG

winmcu 2023-5-21 15:23:14 | 显示全部楼层 |阅读模式
邀请回答

马上注册,享受更多特权

您需要 登录 才可以下载或查看,没有帐号?立即注册   

x
仿真时上电初始化Y0有输出,正常当iState 赋值1,2,3时Y0输出还是不变

image.png

image.png
image.png




上一篇:汇川HT5U中断定长跟电子凸轮
下一篇:小型机的电子齿轮功能不支持伺服当编码器主轴来使用?

已有 0 人打赏作者

回复 邀请回答送花

使用道具 举报

yusnfeng 2023-5-22 08:27:04 | 显示全部楼层
你的子程序SBR_001是什么程序,初始化应该是M8002吧,M8000是程序运行标志
回复 送花

使用道具 举报

wei1916 2023-5-22 09:29:43 | 显示全部楼层
你选择语句里面的,怎么用逗号隔开,用分号隔开试试
回复 送花

使用道具 举报

Lee0401 2023-5-22 14:47:06 | 显示全部楼层
我想知道 逗号在非函数调用是什么含义 为什么还可以编译通过
回复 送花

使用道具 举报

Boos杨 2023-5-22 14:52:31 | 显示全部楼层
逗号表达式,优先级别最低,它将两个及其以上的式子联接起来,从左往右逐个计算表达式,整个表达式的值为最后一个表达式的值。
如:(3+5,6+8)称为逗号表达式,其求解过程先表达式1,后表达式2,整个表达式值是表达式2的值,如:(3+5,6+8)的值是14;
你用逗号结果只有最后一个结果,前面的不刷新,所以出现Y0为TRUE不变
我试了用分号正常执行逻辑

点评

大佬这个解释清楚明了  发表于 2023-5-23 08:16
1 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香! 鲜花榜单
回复 送花

使用道具 举报

Boos杨 2023-5-22 14:53:43 | 显示全部楼层
第一行不需要IF语句,直接调用就好
回复 送花

使用道具 举报

阿拉加斯 2023-5-22 16:36:08 | 显示全部楼层
杨荣良 发表于 2023-5-22 14:52
逗号表达式,优先级别最低,它将两个及其以上的式子联接起来,从左往右逐个计算表达式,整个表达式的值为最 ...

very good very good very good
回复 送花

使用道具 举报

winmcu 2023-5-22 20:44:19 | 显示全部楼层
逗号表达式,跟C语言的不是那么回事啊。C语言逗号表达式,关系是并列运行。运行结果跟用分号一样。
回复 送花

使用道具 举报

winmcu 2023-5-22 20:47:31 | 显示全部楼层
yusnfeng 发表于 2023-5-22 08:27
你的子程序SBR_001是什么程序,初始化应该是M8002吧,M8000是程序运行标志

测试用的,程序运行才调用子程序。问题不大。
回复 送花

使用道具 举报

Danny 2023-5-23 11:29:56 | 显示全部楼层
杨荣良 发表于 2023-5-22 14:52
逗号表达式,优先级别最低,它将两个及其以上的式子联接起来,从左往右逐个计算表达式,整个表达式的值为最 ...

汇川还有这种功能,强大
回复 送花

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册   

本版积分规则

热点推荐

有技术问题,就上汇川技术社区

INOVANCE汇川技术 公众号

扫码下载掌上汇川APP

全国服务热线:8:30-17:30

4000-300124

苏州地址:江苏省苏州市吴中区越溪友翔路16号

深圳地址:深圳市龙华新区观澜街道高新技术产业园汇川技术总部大厦

Copyright © 2003-2100 汇川技术 Powered by Discuz! X3.4 ( 苏ICP备12002088号 )
快速回复 返回列表 返回顶部