回复:V20程序问题

慢慢即漫漫

  • 帖子

    168
  • 精华

    0
  • 被关注

    3

论坛等级:游侠

注册时间:2018-03-14

普通 普通 如何晋级?

发布于 2020-12-28 20:10:16

3楼

展开查看
以下是引用小型自动化系统S7-1200讲师在2020-12-28 18:46:47的发言 >1楼

问题1:程序第28行和程序第55行,值设置位16#7000或16#7001,为用户编程自定义的程序块状态数值,用于反映程序块运行的状态。如下图你可在块接口常量内找到定义。严格意义上编程都需要由程序块的状态位反馈,你可查看PLC内的通信指令(例如TCP或S7)都有Status管脚,来标识程序块执行的状态。

问题2:经查程序61行内的变量在FB块内无置1的情况,固此程序段不会执行,无实际意义。

问题3:第61行的程序和70行的程序,理解没问题。不过这么写多余,可以省略。

问题4:75行和80 可理解为当#enable没有信号变化时,一直为0或一直为1时,刷新保存旧#enable状态以便信号发生沿变化时,执行上升沿或下降沿内逻辑。

问题5:如果你将DRIVE的值设置为5,那么实际的必需有一台V20变频器的从站地址设置为5。在V20 P2011参数设置从站地址。

PZD_LEN对应V20变频器P2012参数,需要跟变频器设置参数一致,对于1200一般使用长度2。

问题6:Valid 标识FB输出参数的有效性 和  busy 标识FB程序块执行状态,是否被执行。

第109行USS通信驱动报错时,#statErrorAutoCleared 置1。

当#statErrorAutoCleared = 1时,Valid =0;busy=1;意思FB内程序在执行,但输出值无效。

当#statErrorAutoCleared = 0时,Valid =1;意思FB块的输出值有效。

问题7:#statErrorUserCleared和#statErrorAutoCleared为用户编程自定义做的错误状态位。

#statErrorUserCleared变量在程序内没用,您可忽略。

#statErrorAutoCleared变量为USS通信时USS_Drive_Control块的输出FAULT位。

问题8:同问题1。



所以说上面这些16#XXXX的值都是用户自己定义的呀??就是为了显示FB块的状态的呀?而比如16#9001就是自己定义的表示故障的值,而这个值并不是PLC里面规定的是吧?就比如我也可以把16#9001改成16#1111,用16#1111这个值来表示有故障输出是这样吗?



本人愚昧,问题繁多,多谢老师悉心教导,感激不尽。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

MA 小型自动化系统

共有850条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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