回复:smart的子程序接口中没有静态变量是导致载程序中不能直接实用边沿的原因

已锁定

李岩

西门子1847工业学习平台

  • 帖子

    3225
  • 精华

    34
  • 被关注

    114

论坛等级:至圣

注册时间:2004-03-31

钻石 钻石 如何晋级?

发布于 2022-01-10 08:51:24

3楼

展开查看
以下是引用Zaxife在2022-01-07 21:58:28的发言 >2楼:实际上,并不是你想的这样。 沿指令必须保证这次的的逻辑与上次的逻辑不同。当使用静态变量时因为静态变量不会被其他子程序改变上次记录的状态,所以能正确执行。当不是使用静态变量时,很容易被在其他子程序改掉所以沿指令执行就不正常。 至于smart沿指令不正确很多时候是使用了所有子程序共用的内存L区,L区又是被不同的子程序不停改变的,所以用户犯错就不要怪指令执行不正确了,人家沿指令是忠实的按运算逻辑执行了的。 举个栗子,L区就像公交车的座位,任意一个乘客都能坐任意一个座位(乘务员座位除外)。然后沿指令只会判断这个座位是否有人坐下/离开,而不知道到底是张三还是李四坐的一个道理。

你说得对,可这就是我想的啊。在1200/1500/300/400上编程,我是在接口中定义一个数组,叫P Array【0-15】 of bit,专门用于上下沿的。提供16个沿的存储位,因为STEP7的存储方式,这种bit的静态变量,你定义1个和定义16个是一样的,所以本胖就不管用不用的了,干脆定义16个。

国人当自强 共同努力 抵制日货
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有9023条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。