开拓·创新2011年03月于志圣Copyright©GTBE.2010.Allrightsreserved一、PLC组态设置问题PLC设置常见问题:1.订货号问题(1)订货号与实际不一致(2)编程软件无实际设备订货号选择(HW更新)2.硬件配置容易漏填的地方(3)编程软件无实际设备模块选择(更新GSD)CPU配置保留存储器、时钟存储器AI/AO类型选择I/O地址修改Copyright©GTBE.2010.Allrightsreserved一、PLC组态设置问题PLC组态常见问题:1.PC站点设置PC站点配置网络组态PC站配置HIS与PL通讯配置Copyright©GTBE.2010.Allrightsreserved二、PLC编程常见问题简单错误:1.地址超范围上面这两条语句语法没任何错误,但是如果我们下载到CPU314当中,那将无法完成。因为CPU314最大M区地址只支持到MB255,CPU315-2DP的模拟量通道集中式输入/输出最大支持256。注:如果使用仿真器,无法检测出该错误,PLC仍然能够运行。Copyright©GTBE.2010.Allrightsreserved二、PLC编程常见问题简单错误:2.地址重叠上述的地址重叠是PLC编程中比较容易犯的错误,这些语句分布在程序的不同位置,编程时较难察觉,在系统试验时也不一定能检查出来。因此我们在做变量点表时需要对变量地址进行合理分配。在写程序时养成良好的变量使用习惯。。。。。。。Copyright©GTBE.2010.Allrightsreserved二、PLC编程常见问题简单错误:3.数据类型匹配与浮点运算在流量累计或其他累计计算编程中常会遇到实数加法的问题。上述程序案例是否存在问题?MD2:累计流量存储值MD4:流量瞬时值瞬时流量模拟累计错误程序案例:在流量累计初期运行是正常的,因为流量累计初始值及瞬时值都为一个很小的浮点数,两数相加结构正确。但经过一段时间后,两数相差很大,执行加法操作后,瞬时流量的数值将被忽略掉(如9999990.0+0.2)。因此在编程时比避免数量级相差太多的浮点数之间进行运算。Copyright©GTBE.2010.Allrightsreserved二、PLC编程常见问题简单错误:4.比较指令在编程过程中经常需要使用到比较指令,包括整数比较和浮点数比较等。上述程序原意是时间到了晚上19点开灯,早上7点关灯。但就没考虑到如果时间跨过19点那么该段程序就不会执行了。此类问题在数值范围变动比较大的模拟量数值比较和浮点数值比较中更容易出问题。MW2:小时时间路灯开启路灯控制比较指令错误程序案例:路灯关闭Copyright©GTBE.2010.Allrightsreserved二、PLC编程常见问题简单错误:5.语句执行先后顺序PLC扫描程序时由头至尾依次执行的,所以编程人员必须重视程序语句执行顺序对逻辑结果的影响。简单的逻辑程序如上面程序的例子比较容易看出缘由,但在复杂的程序当中涉及其他的干扰因素出现,对于语句执行先后顺序引起的错误容易被编程人员所忽视。对此类程序必须要做好厂内程序试验。清楚了解语句执行的先后顺序并巧妙的加以利用往往可减少程序的编写量。程序原目的:T1定时器每秒导通一次,C1及C2会每隔一秒进行一次加1操作。故障现象:实际监控结果:C1工作正常,C2并未继续计数Copyright©GTBE.2010.Allrightsreserved二、PLC编程常见问题简单错误:6.上升(下降)沿不工作上升(下降)沿不工作是一种常见的错误,尽管程序中“P”或“N”指令允许的数据类型为:I、Q、M、L、DB。建议仅使用M及DB数据类型。错误程序案例:“P”指令要求使用与前面指令不同的地址“P”指令不应使用临时变量作为存储地址(临时变量会随着系统堆栈变化)Copyright©GTBE.2010.Allrightsreserved二、PLC编程常见问题简单错误:7.定时器常见问题定时器在程序编程中存在的问题较多,主要总结有以下几点:1)定时器时间设定超限:一个自带定时器最长定时时间是2h46m30s,超过这个时间定时器出错。2)分辨率对控制程序的影响:部分程序对时间精度要求较高必须清楚定时器的精度对控制程序是否存在影响3)时间控制掉电重上电的影响:时间控制程序在工程中大量运用,在程序制作及试验时往往并未对时间控制掉电重上电后设备如何运行进行试验,而实际停电后恢复供电往往对工艺运行或设备运行产生负面影响。错误程序案例:假如MW2设置时间超过3小时时,程序出错。Copyright©GTBE.2010.Allrightsreserved二、PLC编程常见问题简单错误:7.定时器常见问题4)定时器时间设置为0:在使用定时器编程时很多时候并未注意到定时器时间如果设置为0时会产生什么后果。如果程序编程中不考虑对定时器时间为0时设备该如何运行,那么可能会对实际设备运行造成设备严重伤害。下面案例是某时间控制程序的错误案例简化程序:Copyright©GTBE.2010.Allrightsreserved二、PLC编程常见问题FC/FB使用中常见问题:1.ENO的问题对初学者来说,容易在ENO的使用上出错。很多时候将FC/FB串起来使用时并未确保ENO是否保持导通。要想ENO保持导通,在FC/FB程序结尾进行如下处理:程序原目的:进行模拟量转换,并无条件地将MD10的数值传送至MD14。故障现象:当IN值超出了上限,ENO不导通MOVE指令不执行。Copyright©GTBE.2010.Allrightsreserved二、PLC编程常见问题FC/FB使用中常见问题:2.停止对FC/FB调用引起的问题程序原目的:在OB1中当M0.0为1时,调用FC13在OB1中当M0.0为0时,不调用FC13FC13包含简单逻辑及定时器的使用故障现象:当M0.0,M2.0都为1的时间超过10秒,M2.1为1M0.0变为0后,再次变为1,由于定时器保持着计时到达的状态,M2.1会立刻变为1。在实际应用中,如此逻辑为某设备的启动信号,那么这设备可能会跳过延时执行逻辑被立刻执行,可能会产生不良后果。Copyright©GTBE.2010.Allrightsreserved二、PLC编程常见问题FC/FB使用中常见问题:3.FC/FB中临时变量的使用TEMP区的临时变量在编程中起着重要的作用而被大量的使用。但在编程中如果对临时变量的特性不熟悉,很容易出现一些错误。对于FC或FB中的临时变量,不要希望将本次调用的数值可以存储在里面以供下次程序调用,因为这些临时变量所使用的L堆栈空间在FC或FB调用结束后就释放给系统了,其他后续程序可以任意使用。所以下列用法都是错误的:1)将临时变量用于上升/下降沿指令2)将临时变量用于自保持逻辑3)临时变量未在所在程序段中赋值,直接使用注:在熟悉临时变量的特性前提下,上面第1、2点还是可以使用的。在编程过程中,临时变量有着使用方便简单,占用存储空间小等很多优点,因此在FC/FB编程中能使用临时变量的地方推荐尽量采用临时变量。4.FC输出处理对于FC的使用,另一个常见的错误是对输出的错误处理。相比较于FB,FC是一个没有存储空间的逻辑块。如果没有数据被写至FC的OUT参数,FC将会输出一个随值。因此OUT参数必须要在每次执行FC时赋给一个确定值,下列用法都是错误的:1)将输出变量用于上升/下降沿指令2)将输出变量用于自保持逻辑3)输出变量未在所在程序段中赋值Copyright©GTBE.2010.Allrightsreserved二、PLC编程常见问题OB使用中常见问题:1.OB未装载STEP7中所有的用户程序都将在组织块中被调用。而针对不同事件,CPU将会调用不同的组织块,在某事件发生时,如果CPU中没有下载相对应的组织块,CPU将进入STOP状态(例如DP从站通信故障时,CPU中如果没有OB86,CPU将进入STOP状态)因此一般在每个工程中都需加载OB82、85、86、87、122这几个错误处理组织块2.OB35的使用由于定时中断程序具有稳定的执行时间间隔特性,所以OB35也许是除去OB1之外,人们最经常使用的组织块了。但如果器执行间隔被修改得非常短(例如1毫秒),那么就必须考虑OB35中的程序是否能够在1毫秒之内执行完毕,如果OB35执行时间超过了1毫秒,这是OB35又再次被系统触发,系统将会出错。中断组织块中如果执行较多复杂的程序会影响PLC的整体程序扫描周期,因此不建议在中断组织块中编写过多程序。Copyright©GTBE.2010.Allrightsreserved