技术论坛

PLC常见编程问题点总结(S7-300)

作者 主题
yzs
侠圣

经验值: 2041
发帖数: 270
精华帖: 4
主题:【分享】PLC常见编程问题点总结(S7-300)
精编帖 推荐帖


只看楼主 只看精编 楼主 2020-03-04 17:57:44

好久没发过新贴了,今天偶尔发现N年以前我做的300PLC常见编程问题点总结的培训资料,部分内容很适合一些新手注意,有一定的价值,截图在此分享一下。














原文档存在部分错误地方,现重新修正一下。



 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:http://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1610509&b_id=4

yzs
侠圣

经验值: 2041
发帖数: 270
精华帖: 4
回复:PLC常见编程问题点总结(S7-300)
精编帖 推荐帖


只看楼主 只看精编 楼主 5楼 2020-03-05 10:31:45
以下是引用贤贤易色在2020-03-04 21:12:00的发言 >3楼

厉害,不过我觉得是不是分享一下PDF会更好呢?

图片在帖子里容易看到内容,如果想要PDF的当然没有问题

PLC常见编程问题点总结(S7-300).pdf



 
以下网友喜欢您的帖子:

  
yzs
侠圣

经验值: 2041
发帖数: 270
精华帖: 4
回复:PLC常见编程问题点总结(S7-300)
精编帖 推荐帖


只看楼主 只看精编 楼主 13楼 2020-03-06 10:40:19
以下是引用启善在2020-03-06 09:08:09的发言 >

谢谢楼主分享,点赞。


当年编写此培训资料时,大部分是根据公司内部员工的常见编程错误的总结,也有一些内容是参考网上的错误案例总结。或许其中部分内容并不保证完全正确,但都是一些经验的浓缩总结。建议大家不论是新手或者老手都可以看看,是否有很多自己曾经遇到或还存在的“坑”,此资料可用于公司有一定编程经验员工的培训资料,使用时注明一下出处“yzs”就好了


 
以下网友喜欢您的帖子:

  
至圣

经验值: 10243
发帖数: 895
精华帖: 14
回复:PLC常见编程问题点总结(S7-300)
推荐帖


只看楼主 只看精编 23楼 2020-03-10 15:02:26

注明一下出处“yzs”就好。


我的gmail的邮箱近期总收不到邮件,现更改为:hbttkj@163.com
以下网友喜欢您的帖子:

  
奇侠

经验值: 6561
发帖数: 610
精华帖: 5
回复:PLC常见编程问题点总结(S7-300)
推荐帖


只看楼主 只看精编 26楼 2020-03-11 10:33:55

@yzs ,不好意思,请教一下第五个 语句先后执行顺序 这个问题,还是没有弄清楚?能不能麻烦给说一说,谢谢


做最好的自己!活出自我!
以下网友喜欢您的帖子:

  
yzs
侠圣

经验值: 2041
发帖数: 270
精华帖: 4
回复:PLC常见编程问题点总结(S7-300)
精编帖 推荐帖


只看楼主 只看精编 楼主 30楼 2020-03-11 15:41:02
以下是引用ZD_JY在2020-03-11 10:33:55的发言 >26楼

@yzs ,不好意思,请教一下第五个 语句先后执行顺序 这个问题,还是没有弄清楚?能不能麻烦给说一说,谢谢

此问题点应该是我当时在网上摘抄的一个案例,实际上此问题点应该主要体现在定时器的非同步更新的问题。

由于T和CPU的周期并不同步,当接通延时定时器线圈达到1S后,T1本该置1,由于T和CPU的周期并不同步,程序扫描到下一行是T1状态还是没有变,因此C2没有上升沿信号,C2不会计数。如果将C2的程序段放在定时器前面,经过一个循环周期后,由于T的周期小于CPU的扫描周期,因此此时T1的状态就会改变,这个时候C2就会计数了。

程序的扫描从上到下,从左到右正常是比较容易理解以及判断的,但是如果存在类似定时器这种异步更新的情况对于语句的执行顺序就很容易出错了。因此平时必须通过模拟运行程序去检测程序是否存在错误。

从另一个角度说,正是T的周期更新不同步,同时也不太好用,因此我在编程的时候基本都是使用自己编的定时器而不会去使用系统自带的T定时器。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 19045
发帖数: 8888
精华帖: 39
回复:PLC常见编程问题点总结(S7-300)
精编帖


只看楼主 只看精编 32楼 2020-03-14 09:08:12

还有一个:计数器

在用300之前,用的是200和日系的,加计数器都是到了预设值之后输出为1,结果到了300这,只要计数值不为0就有输出,想当然了,因为这个耽搁了不少时间


 
以下网友喜欢您的帖子:

  
游侠

经验值: 333
发帖数: 5
精华帖: 0
回复:PLC常见编程问题点总结(S7-300)
精编帖 推荐帖


只看楼主 只看精编 39楼 2020-03-19 18:35:05

楼主你好,请教您一个问题。第4条问题没太清楚,跨过今天的19点(比如20点开PLC),打开PLC,M18.0开灯位无法得电,M18.1关灯位得电自保,明天还有一个19点,那时在19点刚到时程序第一次扫描执行到该逻辑,M18.0开灯位在该次扫描周期由于M18.1为1,无法形成自保回路,但是该周期会使M18.1关灯位的自保回路断开,M18.1关灯位复位为0,在接下来的那个周期,由于还在19点范围内,所以M18.0开灯位得到自保条件而保持为高电平状态。

楼主,您的意思是说这样子的程序,导致开PLC一定要在19点之前不合理,我这样理解没错吗?


 
以下网友喜欢您的帖子:

  
侠士

经验值: 1070
发帖数: 85
精华帖: 0
回复:PLC常见编程问题点总结(S7-300)
精编帖


只看楼主 只看精编 40楼 2020-03-19 21:43:32


临时变量如果不是每次都必定赋值,使用前要清空


我希望她三十岁未嫁,我也不希望她三十岁未嫁。
以下网友喜欢您的帖子:

  
yzs
侠圣

经验值: 2041
发帖数: 270
精华帖: 4
回复:PLC常见编程问题点总结(S7-300)
精编帖 推荐帖


只看楼主 只看精编 楼主 41楼 2020-03-20 09:58:24
以下是引用bailin7516在2020-03-19 18:35:05的发言 >39楼

楼主你好,请教您一个问题。第4条问题没太清楚,跨过今天的19点(比如20点开PLC),打开PLC,M18.0开灯位无法得电,M18.1关灯位得电自保,明天还有一个19点,那时在19点刚到时程序第一次扫描执行到该逻辑,M18.0开灯位在该次扫描周期由于M18.1为1,无法形成自保回路,但是该周期会使M18.1关灯位的自保回路断开,M18.1关灯位复位为0,在接下来的那个周期,由于还在19点范围内,所以M18.0开灯位得到自保条件而保持为高电平状态。

楼主,您的意思是说这样子的程序,导致开PLC一定要在19点之前不合理,我这样理解没错吗?

理解基本正确,同时也欣喜的看到有很多网友是认真去看帖的。。

在我们的编程过程中,很多时候按着需求去编,初步看起来按着要求设定参数,正常运行时程序运行是正常的,但是在编写完程序之后是否认真审视过自己的程序是否是没有问题了,是否合理了,是否做过实验程序去验证了你的程序完全没问题了?后面这些步骤很多时候都给我们偷懒去省略了。编程难并不是难在按正常的逻辑去编好你的程序,而是编好后或者在编程的过程中需要考虑现场可能出现的各种问题,在此情况下你的程序是如何与之应对的。充分考虑了各种情况下的各种应对措施,你才能够大胆的说:“我的程序是安全的,你随便用吧,没有BUG的”

这类的考虑通常有以下几个方面:

1.错误的参数设置的对应处理:正常参数设置是设备正常运行的前提,但是操作人员并不是编程人员,水平参差不齐,在设置错误的参数时候,你的程序是怎么运行的?是否会导致现场的设备错误的动作导致安全隐患?这个错误其实在我们的编程中是很常见的。

2.断电重上电的对应处理:程序在运行中突然遇到断电了,重上电之后设备是什么状态的?是否会产生一些错误的动作?这类问题一般出现在变量是否需要断电保持以及定时器是否需要断电保持。要验证此类问题一般需要通过做一个模拟实验程序,通过实际的通断电去验证你的程序是否安全。

3.通讯中断的应对处理:现在运用各类总线,各类远程I/O,各类通讯日益频繁,在我们的编程过程中就需要认真考虑到当此类通讯出现故障的时候,你的程序该如何去应对的:包括短时瞬断的应对,长时间通讯中断的应对等等。

4.设备故障的对应处理:在控制过程中当其中某个设备故障了,程序是否做了对应处理,此类设备故障处理相信大多数的程序员都会做到,但是否全面安全就要考量了。

总的来说一个好的程序最重要的第一条就是安全,在安全的基础上才能去考量你的编程逻辑,编程技巧是否好,是否对程序进行了标准化。按正常的逻辑去编程可能你很快去编好了,在编好后你如果按安全的角度综合考虑增加了各种各样的补丁程序,你就会发现你的程序变得很臃肿了,这个臃肿的程序你觉得会是不好的程序吗?肯定不是的,你能编好臃肿而安全的程序说明了你对方方面面的了解,也说明了你对控制工艺的深入研究。可以在下一次的编程中尝试将臃肿的程序合理化,逻辑化,可读化,那你的程序就又上升了一步。之后可以对相类似的控制工艺进行程序的标准化,模块化的编程,日后这类程序就可以信手拈来。

当你可以拍着胸脯对操作人员说你使劲去“操”吧,没事的,安全的!这个时候说明你的程序已经没啥BUG了。


 
以下网友喜欢您的帖子:

  
奇侠

经验值: 5952
发帖数: 475
精华帖: 0
回复:PLC常见编程问题点总结(S7-300)


只看楼主 只看精编 49楼 2020-03-24 10:40:13

 

今天上班刚好碰到类似这个案类解决了,有你真好!


海纳百川,厚德务实!
以下网友喜欢您的帖子:

  
yzs
侠圣

经验值: 2041
发帖数: 270
精华帖: 4
回复:PLC常见编程问题点总结(S7-300)


只看楼主 只看精编 楼主 50楼 2020-03-24 12:03:41
以下是引用Ready_OK在2020-03-24 10:40:13的发言 >49楼

 

今天上班刚好碰到类似这个案类解决了,有你真好!

哦,真好,可以分享一下案例嘛~~
 
以下网友喜欢您的帖子:

  
版主

经验值: 49636
发帖数: 15886
精华帖: 282
回复:PLC常见编程问题点总结(S7-300)
精编帖 推荐帖


只看楼主 只看精编 69楼 2020-04-19 22:16:19


有硬伤,举例说明不严谨。


Zane 注册自动化系统工程师 Always save before download
以下网友喜欢您的帖子:

  
版主

经验值: 49636
发帖数: 15886
精华帖: 282
回复:PLC常见编程问题点总结(S7-300)
精编帖 推荐帖


只看楼主 只看精编 70楼 2020-04-19 22:35:34


这个程序不严谨,但也不是绝对错误,因为比较值是小时,很长的一段时间呢,不是秒,一下就错过了,

倒是我认为没必要用自保逻辑,PLC扫描完全能等到信号,即使自保也是在一小时的有效窗口期,简单的话也凑合着用。严谨一点,应该按时间段比较来控制,那么一小时的有效期也就解决了。与数值变化大小,及浮点数比较没啥关系。


Zane 注册自动化系统工程师 Always save before download
以下网友喜欢您的帖子:

  
版主

经验值: 49636
发帖数: 15886
精华帖: 282
回复:PLC常见编程问题点总结(S7-300)
精编帖


只看楼主 只看精编 71楼 2020-04-19 22:45:00


这个错误的前提不存在,S5TIME是有规定格式的BCD码,MW2作为S5定时器的设定值,不可能也不应该不按规定格式设置,尤其是在定义了符号名及变量类型之后。


Zane 注册自动化系统工程师 Always save before download
以下网友喜欢您的帖子:

  
版主

经验值: 49636
发帖数: 15886
精华帖: 282
回复:PLC常见编程问题点总结(S7-300)
精编帖


只看楼主 只看精编 72楼 2020-04-19 22:48:38


PLC编程不变准则之,逻辑程序全扫描


Zane 注册自动化系统工程师 Always save before download
以下网友喜欢您的帖子:

  
版主

经验值: 49636
发帖数: 15886
精华帖: 282
回复:PLC常见编程问题点总结(S7-300)
精编帖 推荐帖


只看楼主 只看精编 73楼 2020-04-19 22:59:23


这样的例子,有没有放之四海皆正确,甚至超越品牌的编程方法呢?


Zane 注册自动化系统工程师 Always save before download
以下网友喜欢您的帖子:

  
yzs
侠圣

经验值: 2041
发帖数: 270
精华帖: 4
回复:PLC常见编程问题点总结(S7-300)
精编帖 推荐帖


只看楼主 只看精编 楼主 75楼 2020-04-20 09:16:19

感谢Zane版的认真阅读以及错误指正,说明我以前的资料还是存在比较多的错误和不严谨的地方,也希望有各位的指正和讨论能将此资料进行完善


 
以下网友喜欢您的帖子:

  
版主

经验值: 49636
发帖数: 15886
精华帖: 282
回复:PLC常见编程问题点总结(S7-300)
精编帖 推荐帖


只看楼主 只看精编 76楼 2020-04-20 13:50:52
以下是引用yzs在2020-04-20 09:16:19的发言 >75楼

感谢Zane版的认真阅读以及错误指正,说明我以前的资料还是存在比较多的错误和不严谨的地方,也希望有各位的指正和讨论能将此资料进行完善

楼主您客气了,愿意分享都是好事儿,论坛也是鼓励大家分享经验心得。


但我给大家的建议是对自己分享的内容还是要把把关,认真严谨一点,本着对自己负责对别人负责的原则。


论坛的编辑功能应该也是比较完善的,有个错别字,笔误,措辞组句描述不当的,哪怕是当时意思写错了,都可以修改纠正,也是希望大家能够及时纠正,以方便后来人学习。


也是期望楼主能多分享,多出精品贴。


Zane 注册自动化系统工程师 Always save before download
以下网友喜欢您的帖子:

  
版主

经验值: 49636
发帖数: 15886
精华帖: 282
回复:PLC常见编程问题点总结(S7-300)
精编帖 推荐帖


只看楼主 只看精编 80楼 2020-05-05 17:14:46
Zane 注册自动化系统工程师 Always save before download
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
×
扫描打开手机版
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。