回复:PLC1500顺序控制使用状态机,当某个条件满足,如何复位前一个状态然后置位下一个状态

已锁定

qing__lin__li

  • 帖子

    37
  • 精华

    0
  • 被关注

    0

论坛等级:游士

注册时间:2013-11-11

普通 普通 如何晋级?

发布于 2020-04-20 23:47:50

14楼

展开查看
以下是引用Zane在2020-04-20 22:46:37的发言 >12楼

楼主,你最大的问题就是用着梯形图想着VB,还参考SCL,你的思路比浆糊还稠,你哪样都没搞懂,其实你什么都不懂哪怕是VB,我可以这么说。会编程的人的思路确是通的,无所谓PLC或PC的,无所谓用什么开发语言的,尤其是这么PC程序化的状态机的概念。


或许你根本就不是个编程的料,或许你的心思根本就不在专业上,就是想应付眼前的工作。


就你最近发的这些帖子的内容,哪怕是个职校的学生也不用几天就搞懂了,再不济死记硬背地都下来了。


如果你还想做下去,就请静下心来,认认真真地学一样钻一样吧。



Tn是条件,Cn是指令,Zn是状态

我从来不写S/R的程序的,手写个意思,你自己琢磨吧。

版主:

       你写的我看啦!

       非常感谢!


       我不是搞PLC的,而是搞嵌入式工业控制(单片机),从来没有看过一本PLC方面的书。说实在的,受PC机编程的影响太大,有惯性思维,总认为PLC系统只有1个CPU,任何程序的执行顺序就是按照【语句的前后】依次执行的,从来没有想到过PLC宏观上是【并行】执行的,类似它有无数个CPU。


        版主写的代码我看了,就是边沿触发检测,所谓边沿触发就是检测前一扫描周期和当前扫描周期是否一致,如果前一周期为1,当前周期为0,就是下降沿;所谓前一周期为0,当前周期为1,就是上升沿。

       边沿检测类似PC机上的事件触发或中断触发,来一次触发一次。


      版主,目前的中国现在是一个浮躁的社会,哪有时间静下心来学习呀!领导只给了1个多月的时间,我也是被赶鸭子上架抓过来搞这个PLC工程的,而且大概率可能我搞完这次,十年以内也不会再搞PLC啦!我大部分时间都在CSDN和正点原子论坛混。

   

       程序我已经编写完了,大概写了120多个FC函数,把很多DCS的功能块都用PLC写成一个标准的FC,例如:位置PID,F(X)12段分段函数(精确控制阀门的流量曲线),3取2(分为:高选、低选、平均、中值。我非常吐槽DCS上常用的3取2功能,PLC竟然不提供),3取1(分为:高选、低选、平均、中值)等等。只是由于没有看过PLC方面的书,被一些最基本的概念纠缠,老是套用PC或单片机方面的概念来往PLC上套。


        版主,我不清楚你的知识结构,假如你学习过C语言,当你掌握了C语言,想学习C++语言时,你会犯很多惯性思维,老是用C语言的编程思维去套用C++的编程思路。当你掌握了C语言前后台的编程,想学习uCOS多任务或FreeRTOS多任务编程,你又会犯很多惯性思维,老是用C语言前后台的编程思维去套用uCOS或FreeRTOS编程思维。当你掌握了C语言,想学习JAVA语言及进行Android编程时,你会犯很多惯性思维,老是用C语言的编程思维去套用理解JAVA的类或线程。

        总之,熟悉一门全新的编程,需要了解的是它的运行机制,而问题的实质就是,如果你不懂它的运行机制,就会犯很多低级问题。 




      


       





评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1500系列

共有10699条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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