为了
PLC程序可读性强,短期内可以读懂并且能够修改,在PLC工作组内部需要统一我们的编程标准,以便适应将来工程人员调动后,原来的程序能够被后来的人在短期内读懂,现统一标准如下:
一、程序结构
1、程序结构统一
OB1:主程序;
OB100:初始化程序(无需主程序调用);
OB35:100ms(可修改)中断(无需主程序调用),可以调用PID模块;
OB80、OB82、OB85、OB86、OB87、OB121、OB122:故障诊断模块(无需主程序调用、无需编程);
FC1:系统模式;
FC2:输入处理;
FC3:输出处理;
FC4:运行处理;
FC5:停止处理;
FC6:手自动切换;
FC7:
。。。
。。。
FC100:之后用来建立一些可以循环调用的子程序;
FC105:系统自带,模拟量输入子程序(可以循环调用);
FC106:系统自带,模拟量输出子程序(可以循环调用);
modbus通讯(CP341):FB7:P_RCV_RK,FB8:P_SND_RK;
通讯CP340:FB2:P_RCV,FB3:P_SND;
一般PID:用FB41;
温、湿度PID:用FB58;
如果程序块与系统块重复,请避让。
2、数据块
DB1:AI数据,类型:REAL,与上位机接口;
DB2:AO数据,类型:REAL,与上位机接口;
DB3:DI数据,类型:BOOL,与上位机接口;
DB4:DO数据,类型:BOOL,与上位机接口;
DB5:设备运行时间及流量累计,类型:REAL,与上位机接口;
DB6:报警消息,类型:BOOL,与上位机接口;
DB7:类型:REAL,中间寄存器;
DB8:类型:INT,中间寄存器;
DB9:类型:WORD,中间寄存器;
DB10:类型:BOOL,中间寄存器;
DB11:之后用作与设备通讯用,例如:MODBUS通讯等;
DB100:之后用作调用FB块时的背景数据块;
M区:也作为中间变量。
3、DP从站故障诊断
DP从站必须做故障诊断,故障报警,用FB125即可。
二、控制模式
1、系统设置远程/本地/手动按钮
1.1、远程:只能通过上位机对系统进行自动启/停控制,单台设备就地控制优先,在程控时,可以通过上位机对设备进行软手操/自动切换,软手操启/停;
1.2、本地:只能通过触摸屏对系统进行自动启/停控制,单台设备就地控制优先,在程控时,可以通过触摸屏对设备进行软手操/自动切换,软手操启/停;
1.3、手动:手动控制时,上位机/触摸屏失效,只能通过手动控制设备的启/停。
2、单台设备控制
单台设备必须有软手操/自动切换以及软手操时可以启/停功能,由自动切换到软手操时,设备不能停机;由软手操切换到自动时,设备启/停取决于自动程序。
3、单台设备(泵、风机及其它大型设备)运行满24小时必须进行轮换,且必须有运行时间累计,如果由上位机设定启/停顺序除外,操作人员自行设定;
三、编程技巧
1、程序块尽量细化,方便阅读,将同一类型的设备控制放在一个程序块中;
2、如遇特殊情况下采用语言编程,多数情况下请使用梯形图编程,方便别人阅读;
3、对于经常调用的子程序,可以做成子模块,频繁调用,例如:求几个数平均值或求几个数的最大值;
4、程序要有注释,变量及中间变量必须有描述,方便别人阅读或以后查阅;
5、定期做程序备份,最好以工程名称+系统名称+当天日期;
6、程序加密,防止别人窃取。
(2)输入、输出故障的排除一般PLC均有LED指示灯可以帮助检查故障是否由外部设备引起。不论在模拟调试还是实际应用中,若系统某回路不能按照要求动作,首先应检查PLC输入开关电接触点是否可靠(一般可通过查看输入LED指示灯或直接测量输入端),若输入信号未能传到PLC,则应去检查输入对应的外部回路;若输入信号已经采集到,则再看PLC是否有相应输出指示,若没有,则是内部程序问题或输出LED指示灯问题;若输出信号已确信发出,则应去检查外部输出回路(从PLC输出往后检查)。在输出回路中,由于短路或其它原因造成PLC输出点在内部粘滞,只需将其接线换至另一予留的空接线点上,同时修改相应程序,将原输出标号改为新地址号即可。PLC虽然适合工业现场,使用中也应注意尽量避免直接震动和冲击、阳光直射、油雾、雨淋等;不要在有腐蚀性气体、灰尘过多、发热体附近应用;避免导电性杂物进入控制器。
想利用西门子S7-200
PLC的高速计数器,采集伺服驱动器的反馈编码器值,利用高速计数器采集到的值,在程序中比较好控制伺服电机实际运行的位置.
答:西门子的200无法直接采集差分信号,因此你需要买个转化板进行转换(即使是224xp也只是支持集电极开路的0到5v,并不是差分)
其次每个cpu的循环周期都得10ms左右,如果你在程序中比较实际位置,在进行输出的话很有很大的延迟,除非速度很慢,否则在实际中无法进行具体应用。
所谓差分传输:在这两根线上都传输信号,这两个信号的振幅相等,相位相反。
S7-200系列PLC能接收正交信号或增减信号,不能直接接收差分信号。
三菱FX2N系列
PLC支持以下4种类型的通信形式。
(1)并行通信。FX2N系列PLC可以采用FX2N-485-BD内置通信板和专用通信电缆连接实现两台同系列PLC间的并行通信。
(2)
计算机与多台PLC之间的通信。一台计算机采用RS-485通信接口与多台PLC之间进行通信,多见于计算机为上位机的控制系统中,这时的各个PLC均可以接收上位机的命令,并将执行结果送给上位机,形成一个简单的集中管理、分散控制的分布式控制系统。
(3)N:N网络通信。采用RS-485通信接口在FX系列PLC之间进行简单的数据链接,实现多机通信互联,常用于生产过程中的集散控制与集中管理等方面。
(4)无协议通信。采用具备RS-422通信接口或RS-485通信接口的各种设备,以无协议的方式进行数据交换,对于PLC只需编写实现通信功能的梯形图即可实现通信。常用于PLC与计算机、条形码阅读器、打印机和各种智能仪表等串口设备之间的数据交换。
Step7系统中使用CFC编程时,通过编译CFC系统将自动生成所需的程序代码。但为了防止CPU故障情况下停机,则需要手动在Blocks文件夹中
添加错误处理OB(例如OB86等)。但重新编译CFC后,这些手动添加的OB则会被系统删除。
如何能让系统自动生成这些错误处理的OB呢?本文将通过如下的简单实例介绍具体的组态过程。
1.打开项目,在Blocks文件夹中右键插入一个FB
图1插入FB块
2.定义FB块的块号及符号名,避免和项目中实际使用的FB冲突。
图2定义FB块号
3.切换到属性页面,加入属性S7_tasklist属性,值(Value)设置为OB80,OB81,OB82,OB83,OB84,OB85,OB86,OB88,OB121,OB122。各OB之间通过逗号隔开。点击OK关闭该功能块的属性定义对话框。(注意标点符号不能使用中文的全角标点符号)
图3定义功能块的S7_tasklist属性
4.双击打开该功能块,任意定义一个输入管脚,如下图所示。
图4任意定义该功能的管脚
5.任意打开一个CFC,并在CFC中调用该功能块即可。
图5任意CFC中调用该功能块
6.编译CFC后,系统将会根据上述定义自动生成相应的错误处理OB,防止相应错误发生时CPU停机。
图6CFC编译后将自动生成相应OB
注:使用PCS7进行程序编写时,无需按照上述方面系统即可自动生成所需的OB。
1、经验积累经验有别人的,也有自己的,都很重要。前者要靠细心学习,后者要靠用心积累,都要在一定的时间与必要的精力。别人的经验有上了书的或登载在杂志上的。有的是细心学习别人的,但多数是我自己的经验。所有的例子都经我测试过,都经实践证明是可行的。我想,别的书本或杂志上介绍的也会是这样的。所以学习这样杨功的经验是必要的。还有就是你同事的经验,也是值得学习。这种经验离你很“近”,很易借鉴。自己的经验则是最重要的。要在自己的实践中,积累自己的经验。同时,最好在学别人的三菱PLC经验时,也能亲自作些测试,能使自己也有类似的经历,进而把这些经验变成自己的。这也是自己经验的重要积累。还有一些失败的经验,这往往是不会公开的,但这些经验也要学习,也要积累。经验的积累要用自己的脑记,更要用电脑记。最好作些分类,建立一个自用的程序库,以便于随时引用。
笔者根据多年的教学实践,就影响
PLC人才培养的各个因素的提高与协同,我提出以下几点建议以供参考:
一、教学与实习设备投入。在PLC课程的实践教学中,应把机械、电工、电子、液压、气动和计算机等知识与PLC技术进行有机地联系,扩大实习实训课时的比重,逐步加大学校相关设备的投入,建立较为完备的PLC技术仿真实训室,从而为“PLC仿真项目开发”的实训教学创造良好条件。教学实践证明,只有通过PLC仿真项目方面的实训,让学生亲自编程、实际接线和仿真调试,并对运行过程中所遇到的问题进行分析和改进,才能真正培养学生创新思维和综合职业能力,真正实现学生毕业后在PLC技术应用领域“零距离上岗”的最终教学目标。
二、理论、实验与实训教学。任何课程教学活动的首要任务都是激发学生的学习兴趣,同样在PLC教学中激发学生的兴趣并不难,重要的是让学生不断地提高,不断地体验到成功的喜悦,这样才能始终保持其浓厚的兴趣。
1、理论课的首要任务是让学生明确PLC是什么?PLC能做什么?怎么做?教师可以通过一个简单、形象实例(如:电机的长动控制)的完整讲解、操作与演示,先让学生了解PLC控制系统包括主电路与控制电路,PLC的外部
硬件连线与内部软件编程两个基本的环节仅仅充当控制电路部分,让学生整体了解PLC控制系统的构成与工作过程,再以此为基础进行外部硬件连线与内部软件编程两个基本环节的深入讲解,这样便于学生对比继电接触器控制系统对本课程的整体把握,明确课程的中心任务,有了目标也就有了学习的动力。
理论课教学过程中要使用多媒体教学手段,利用多种计算机技术制作以PPT为主体的电子课件,借助多媒体技术,用生动丰富的画面和美妙动听的音乐效果吸引学生的注意力,激发学生的学习兴趣,同时可以提高教学的效率。PLC的外部接线(包括主电路接线)首先讲原理图,结合实验、实训、实习讲解装配图与实际连线图,要让学生体会课堂上的原理图、实验中的接线与实训、实习中的接线的区别与联系,教会学生善于理论联系实践,以理论指导实践,以实践验证理论。
当前流行的三菱PLC的编程软件为FXGP_WIN-C与GXDeveloper,FXGP_WIN-C没有仿真功能,在理论讲授中缺乏直观性,而GXDeveloper编程软件加装GXSimulator6-C后具有仿真功能,在编程器件、指令与编程实例的讲解中利用仿真可以加强直观性,便于学生的理解,对于某些程序的检验与编写学生可以不用到实验室,直接利用学校机房结合软件的仿真功能完成,这样既增强了学生自主学习的能力,提高了学习兴趣,也提高了学习的效率,学生不用走进实验室也能使理论教学与实验教学同步进行,大大提高老师的教学效果以及学生的理解和接受能力。
2、实验、实训与上机课可以采用自主学习方式。自主学习方式是一种学习者在总体教学目标的宏观调控下,在教师的指导下,根据自身条件和需要自由地
选择学习目标,学习内容和方法,并通过自我调控的学习活动完成具体学习目标的学习方式。自主学习离不开教师的适时指导与评价,学生只有在教师的适时帮助下,才能不断地完成一个又一个实验与实训项目,获得越来越大的成就感,增加自己自主学习的动力,从而保证自主学习方式的良性发展。教师还必须结合理论课程的进程,结合实验实训设备编写由浅入深、逐步递进、面向不同层次学生的实验实训指导书,为学生的自主学习提供有力的理论支撑。
3、综合实训是PLC课程最重要的一个环节。要安排充足的时间进行,还要提高实训的效率,综合考虑学生个体的差异。在实训中,遵循能者多劳,共同提高的原则,把学生按个体差异分组,各组根据自己的能力情况选择不同控制要求的实训内容,根据控制要求,进行编程、调试,故障诊断与排除。这种方法较灵活的
解决了学生能力差异存在的相互制约问题,同时也培养了学生的分工及团队合作的能力。
三、成绩评价机制。应该明确成绩评价不是教学行为的最终目的,成绩评价应作为激励学生学习的一种方法,成绩评价应做到及时、公正,具有可操作性。1、理论成绩评定包括笔试成绩、平时成绩和实验成绩,笔试成绩通过开卷或闭卷方式,考核了学生对PLC基本知识的掌握程度;平时成绩通过平时独立完成作业的质量、上课出勤、课堂上解决问题的能力及创新方法等来评定;2、实验实训成绩评价应能体现出竞争机制,根据不同的任务要求分两种情况:第一,保证完成质量的前提下,根据完成速度评定分数;第二,保证统一时间的前提下,根据完成质量评定分数。教师根据完成质量或速度只对每个团队进行分数评定,团队每个成员的分数则依据教师给定分数通过本团队民主评议得分,这样促进团队内每个成员的积极性与主动性,同时培养学生的团队意识。
四、校内学习与校外锻炼。学生在学校所学的PLC知识与技能对比实际工作岗位中的PLC控制系统,仍具有一定的差异或差距,学生就业后在工作岗位中一定会遇到一些难于解决的难题,这就需要学校、教师仍然要加强对学生毕业工作过程的指导,把这些问题的解决方法做成典型案例对在校学生讲解,对在校生来说也是一种良好经验的积累。学生就业后,在工作岗位上应不断地与学校教师沟通,不断地向有经验的师傅请教,才能熟练掌握PLC控制系统的设计与应用。
先前总认为OPC就是用于不同品牌上位机与不同品牌
PLC通讯,经过这次测试才明白,原来OPC还可以用于不同品牌上位机间的直接通讯。
此次测试为两台计算机XP系统。一台上位机wincc7.02。一台组态王6.53。
组态王作为opc服务器,wincc作为opc客户端。
期望结果:wincc直接读取组态王数据。
开始:
一、先配置服务器端:
1.1在开始-运行输入“dcomcnfg”进入组建服务
1.2在控制台跟目录—组建服务—计算机—我的电脑右键属性弹出我的电脑属性。
1.3在弹出我的电脑属性中—默认属性—勾选“在此计算机上启用分布式com”以及下面的默认身份验证级别选择“无”。如图:
点击右边的COM安全
需对访问权限“编辑限制”“编辑默认值”以及启动和激活权限中“编辑限制”“编辑默认值”设置相同的组和权限如果没有需手动添加ANONYMOUSLOGON和Everyone中的所有权限。如下图:
1.4点击组件服务—计算机—我的电脑—DCOM配置—OpcEunm,右键属性弹出OpcEnum属性对话框,常规中身份验证级别—默认,位置—勾选在此计算机上运行应用程序,安全里把启动和激活权限以及访问权限配置为使用默认值。配置权限选择自定义,在配置权限中点击编辑,添加ANONYMOUSLOGON和Everyone中的所有权限。标识选择交互式用户。
1.5同1.4在组建服务-计算机—我的电脑—DCOM配置—KingView.View右键属性做相同的配置。
这样,服务器端即配置完毕。
二、服务器配置完毕后,开始组态客户端。
2.1启动wincc–变量管理—右键-添加新的驱动程序“OPC.chn”
2.2在添加过opc驱动后,点击系统属性,弹出OPC条目管理器。在这里面找到工作组里面的OPC服务器(组态王机子的计算机名)。
如上图中的KINGVIEW.VIEW.1即为组态王端的opc服务器。选中它点击右侧的浏览服务器。依次点击下一步,即弹出组态OPC服务器端变量表,如图:
如图:
选择要访问的变量,右侧的属性“value”,最后选择添加条目即可。
三、以上完成后就和常规配置相同了,运行后,即可看到,wincc里面的变量值与组态王里面的变量值保持同步变化。及通讯正常。
PLC的输出电路形式一般分为:继电器输出,晶体管输出和晶闸管输出三种。弄清这三种输出形式的区别,对于PLC的硬件设计工作非常有必要。下面以三菱PLC为例,简要介绍一下这三种输出电路形式的区别和注意事项,其它公司的PLC输出电路形式也大同小异。
1、继电器输出电路
继电器输出的PLC是利用了继电器的触点和线圈将PLC的内部电路与外部负载电路进行电气隔离。
该种输出电路形式外接电源既可以是直流,也可以是交流。PLC继电器输出电路形式允许负载一般是AC250V/50V以下,负载电流可达2A,容量可达80~100VA(电压×电流),因此,PLC的输出一般不宜直接驱动大电流负载(一般通过一个小负载来驱动大负载,如PLC的输出可以接一个电流比较小的中间继电器,再由中间继电器触点驱动大负载,如接触器线圈等)。
PLC继电器输出电路的形式继电器触点的使用寿命也有限制(一般数十万次左右,根据负载而定,如连接感性负载时的寿命要小于阻性负载)。此外,继电器输出的响应时间也比较慢(10ms)左右,因此,在要求快速响应的场合不适合使用此种类型的电路输出形式(可以根据场合使用下面介绍的两种输出形式)。
当连接感性负载时,为了延长继电器触点的使用寿命,对于外接直流电源时的情况,通常应在负载两端加过电压抑制二极管;对于交流负载,应在负载两端加RC抑制器。
2、晶体管输出电路
晶体管输出型PLC是通过光电耦合器使晶体管截止或导通以控制外部负载电路,并同时PLC内部电路和晶体管输出电路进行电气隔离。
晶体管作为一种可变开关,基于输入的电压,控制流出的电流,因此晶体管可做为电流的开关,和一般机械开关(如Relay、switch)不同处在于晶体管是利用电讯号来控制,而且开关速度可以非常之快,在实验室中的切换速度可达100GHz以上。
晶体管输出电路形式相比于继电器输出响应快(一般在0.2ms以下),适用于要求快速响应的场合;由于晶体管是无机械触点,因此比继电器输出电路形式的寿命长。晶体管输出型电路的外接电源只能是直接电源,这是其应用局限的一方面。另外,晶体管输出驱动能力要小于继电器输出,允许负载电压一般为DC5V~30V,允许负载电流为0.2A~0.5A。这两点的使用晶体管输出电路形式时要注意。
3、双向晶闸管输出电路
双向晶闸管输出电路只能驱动交流负载,响应速度也比继电器输出电路形式要快,寿命要长。
双向晶闸管输出的驱动能力要比继电器输出的要小,允许负载电压一般为AC85~242V;单点输出电流为0.2A~0.5A,当多点共用公共端时,每点的输出电流应减小(如单点驱动能力为0.3A的双向晶闸管输出,在4点共用公共端时,最大允许输出为0.8A/4点)。注意:为了保护晶闸管,通常在PLC内部电路晶闸管的两端并接RC阻容吸收元件(一般为0.015uF/22Ω左右)和压敏电阻,因此在晶闸管关断时,PLC的输出仍然有1~2mA的开路漏电流,这就可能导致一些小型继电器在PLC输出OFF时无法关断的情况。
三菱
PLC
特殊软元件特殊软元件一PC状态M8000RUN监控(a触点)M8001RUN监控(b触点)M8002初始脉冲(a触点)M8003初始脉冲(b触点)M8004发生出错M8005电池电压下降M8006电池电压下降锁存M8007电源瞬停检测M8008停电检测M8009DC24V关断D8001PLC型号及系统版本D8002存储器容量D8003存储器类型D8004出错M地址号D8005电池电压D8006电池电压下降检出电平D8007瞬停次数D8008停电检测时间D8009DC24V关断的单元编号二时钟M8011震荡周期10msM8012震荡周期100msM8013震荡周期1sM8014震荡周期1分钟M8015计时停止及预置M8016时间读出时显示停止M8017±30秒的修正M8018检测RTC卡盒是否插入M8019实时时钟(RTC)出错D8010当前扫描时间D8011最小扫描时间D8012最大扫描时间D8013秒D8014分D8015时D8016日D8017月D8018年D8019星期(0:星期日~6:星期六)
到此这篇plc定时器100ms定时范围(plc200定时器)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/cjjbc/17031.html