1. PLC编程规范
回答,在中国标准分类中,plc涉及到电子计算机应用、继电保护及自动装置、电力电容器、光通信设备、自动控制与遥控装置、、电能测量和负荷控制系统、、供、配电工程、标准化、质量管理、电容器、高压开关设备、电工仪器、仪表综合、铁路通信设备、变压器、电子、电气设备、通信网技术体制、数据通信、通信网性能指标及测试、电子系统工程、输电线路器材。
2. plc编程规范标准引用
PLC控制系统是在传统的顺序控制器的基础上引入了微电子技术、计算机技术、自动控制技术和通讯技术而形成的一代新型工业控制装置,目的是用来取代继电器、执行逻辑、记时、计数等顺序控制功能,建立柔性的远程控制系统。具有通用性强、使用方便、适应面广、可靠性高、抗干扰能力强、编程简单等特点。
3. plc技术规范
plc执行的是国家标准IEC61131。而且PLC有五种标准化编程语言:顺序功能图(SFC)、梯形图(LD)、功能模块图(FBD)三种图形化语言和语句表(IL)、结构文本(ST)两种文本语言 。其中最常用的有两种编程语言,一是梯形图,二是助记符语言表,极大的方便了设计者。
4. plc编程规范与架构与工艺标准
1) 外部输入、输出继电器、内部继电器、定时器、计数器等器件的接点可多次重复使用,无需用复杂的程序结构来减少接点的使用次数。
2) 梯形图每一行都是从左母线开始,线圈接在最右边,接点不能放在线圈的右边。
3) 线圈不能直接与左母线相连。如果需要,可以通过一个没有使用的内部继电器的常闭接点或者特殊内部继电器(常0N)的常开接点来连接。
4) 同一编号的线圈在一个程序中使用两次称为双线圈输出。双线圈输出容易引起误操作,应尽量避免线圈重复使用。
5) 梯形图程序必须符合顺序执行的原则,即从左到右,从上到下地执行,如不符合顺序执行的电路不能直接编程。
6)在梯形图中串联接点、并联接点的使用次数没有限制,可无限次地使用。
7) 两个或两个以上的线圈可以并联输出。
5. plc编程规范国家标准
plc的编程主要规则如下:
1、安全性,使用PLC控制都会有自动运行的部分,对这部分要做到万无一失,宁可不做,也不要让被控对象处于失控状态。
手动部分程序也要有连锁和限位,或者加入时间限制。很多机械设备在机构上有自己的安全机制,你最好忘掉这点,不要寄希望于最终的机械安全。我们要做的是在程序上做到人员、机器绝对的安全。
2、功能完整,在保证安全的前提下,尽可能地实现客户的功能要求。功能的完整性是我们编程专业性的体现,不要等到设备交付时,让销售人员无法交差。对于因硬件或其他原因不能实现的部分,要尽早与客户沟通。
3、逻辑缜密,我们的程序不仅需要在各部分正常时,能顺利完成每个动作。当丢失某些信号时,要依然能处于安全状态,并有对应的安全提示。
多年的经验是,实现功能容易,处理异常很难。
我们不得不承认,我们人类的思维是有误区的,总会有你想不到的地方。特别是当你为了实现某些功能而绞尽脑汁时,做到心思缜密,思维无漏洞是件很困难的事情。
解决思维不完善,我们最好在编程时想办法把功能拆解,由不同的工程师进行协同完成。
程序完成调试后,最好找熟悉工艺的同事,负责验证程序。在验证修改的过程中反复实验,一步步修改,直到能应对各种工况。
4、程序简单化,在功能上我们要逻辑缜密,做到思维无漏洞。但是在编程时就要用最简单的语句,完成尽可能多的功能。
做到程序易于修改、方便调试、升级简单。
编写程序的一般流程是:明确工艺要求,编程设计,调试,发现问题,增加(修改)功能,继续编程,再调试,继续新一轮修改,如此往复。
所以你的程序从开始设计,就要易于修改,不要搞成“牵一发而动全身”,无形中自己给自己增加调试的难度。
5、方便阅读,我们编写的程序除了要完成指定的功能,也要便于读懂和上手。
很多项目不是一个人能独立完成的,我们的程序越好好理解,团队中协作就越容易。在环境本身就恶劣的现场,拿到一坨屎样的程序,你还有好心情调试吗?
另外在程序中要把变量名、注释标识清楚,并且与图纸对应起来。做到程序中的信息便于检索和查找。
6. plc程序编写规范
方法1:线对接头,需要用油压装置压紧对接头。
方法2:一字接法,也称七星接法。把接头拨出100MM,在50MM位置顺序拉直,做成伞骨的样子,再与同样的另一根多股线每隔一股相互交叉到底,然后合拢来,用本身股线一一缠绕,每股剩下来的线头和下一股线交叉后作为被裹的线压在下面,最后一段缠完后拧小辫收尾,缠绕时应排列整齐,不要相互重迭。
7. plc编程规范与架构
1、低压电器是指工作电压在 直流1500V或 交流1200V 以下的各种电器。
2、触器按其主触头通过电流的种类,可分为 直流 接触器和 交流 接触器。
3、继电接触器控制电路是由各种 按钮 、 行程开关 、 继电器 、接触器 、熔断器等元件组成,实现对电力拖动系统的起动、调速、制动、反向等的控制和保护,以满足对生产工艺对电力拖动控制的要求。
4、热继电器是利用 电流的热效应原理来工作的保护电器,它在电路中主要用作三相异步电动机的 过载保护。
5、速度继电器主要用作 反接制动 控制。
6、时间继电器是指 用来实现触点延时接通或延时断开的控制 的电器。
7、机床电气控制系统是由许多电气元件按照一定要求联接而成,实现对机床的电气自动控制。为了便于对控制系统进行设计、分析研究、安装调试、使用和维护,需要将电气元件及其相互联接,用国家规定的 文字 、 符号和图形表示出来。这种图就是电气控制系统图。电气控制系统图包括:电气原理图、电气元件接线图、 电气元件布置图 三种图。
8、在机床电控中,短路保护用 熔断器 ; 过载保护用热继电器 ;过电流保护用 过电流继电器 。
9、PLC的每一个扫描过程分为三个阶段,分别是:输入采样阶段、程序执行阶段和输出刷新三个阶段。
10、机床中最常见的降压起动方法有Y- 转换、定子绕组串电阻和自耦变压器(补偿器)降压起动三种。
11. 可编程序控制器是一种数字运算的电子系统,专为工业环境下应用而设计。它用可编程的存储器,用来在内部存储执行逻辑运算、须序控制、定时、计数和算术运算等操作的指令,并通过数字式、模拟式的输入和输出,控制各种类型的机械或生产过程。可编程控制器及其有关设备,都应按易于与工业控制系统联成一个整体,易于扩充的原则设计。
12. FP1-40型可编程序控制器,共有输入、输出点 208 个,其中输入点的点号从 X0 到 X12F,输出点的点号从 Y0-.到 Y12F 。
13. 机床上常用的电气制动控制线路有两种即 反接制动 和 能耗制动 。
14. PLC的英文全称是 Programmable_ LogicController 。
15. 在FP1中,R9013的功能是初始闭合继电器。
16.自动控制系统有两中最基本的形式分别是 开环控制 、 闭环控制 。
17.在控制系统中,若通过某种装置将反映输出量的信号引回来去影响控制信号,这种作用称为 反馈 。
18.对于一个自动控制系统的性能要求可以概括为三个方面: 稳定性、 准确性和快速性 。
19、触头的结构形式有桥式触头、指形触头。
20、接触器用于远距离频繁地接通或断开交直流主电路及大容量控制电路的一种自动开关电器。
21、接触器的额定通断能力是指其主触头在规定条件下可靠地接通和分断的电流值。
22、继电器是一种利用各种物理量的变化,将电量或非电量的变化转化为电磁力或使输出状态发生阶跃变化,从而通过其触头或突变量促使在同一电路或另一电路中的其他器件或装置动作的一种控制元件。
23、继电器的调节装置用以改变继电器的 动作参数 。
24、低压电器按用途分:低压配电电器、低压控制电器等。
25、电磁式继电器反映的是电信号,当线圈反映电压信号时,为电压继电器;当线圈反映电流信号时,为电流继电器。
26、电磁式电压继电器线圈 并接 在电路电压上,用于反映电路电压大小。
27、电磁式电流继电器线圈 串接 在电路中,用于反映电路电流的大小。
28、三相鼠笼式异步电动机Y-△降压启动时启动电流是直接启动电流的 1/3 倍,此方法只能用于定子绕组采用 △ 接法的电动机。
8. plc编程规范国家标准引用
一、PIC汇编语言指令格式
PIC系列微控制器汇编语言指令与MCS-51系列单片机汇编语言一样,每条汇编语言指令由4个部分组成,其书写格式如下:
标号 操作码助记符 操作数1,操作数2;注释
指令格式说明如下:指令的4个部分之间由空格作隔离符,空格可以是1格或多格,以保证交叉汇编时,PC机能识别指令。
1标号 与MCS-51系列单片机功能相同,标号代表指令的符号地址。在程序汇编时,已赋以指令存储器地址的具体数值。汇编语言中采用符号地址(即标号)是便于查看、修改,尤其是便于指令转移地址的表示。标号是指令格式中的可选项,只有在被其它语句引用时才需派上标号。在无标号的情况下,指令助记符前面必须保留一个或一个以上的空格再写指令助记符。指令助记符不能占用标号的位置,否则该助记符会被汇编程序作标号误处理。
书写标号时,规定第一字符必须是字母或半角下划线“—”,它后面可以跟英文和数字字符、冒号(:)制符表等,并可任意组合。再有标号不能用操作码助记符和寄存器的代号表示。标号也可以单独占一行。
2操作码助记符 该字段是指令的必选项。该项可以是指令助记符,也可以由伪指令及宏命令组成,其作用是在交叉汇编时,“指令操作码助记符”与“操作码表”进行逐一比较,找出其相应的机器码一一代之。
3操作数 由操作数的数据值或以符号表示的数据或地址值组成。若操作数有两个,则两个操作数之间用逗号(,)分开。当操作数是常数时,常数可以是二进制、八进制、十进制或十六进制数。还可以是被定义过的标号、字符串和ASCⅡ码等。具体表示时,规定在二进制数前冠以字母“B”,例如B10011100;八进制数前冠以字母“O”,例如O257;十进制数前冠以字母“D”,例如D122;十六进制数前冠以“H”,例如H2F。在这里PIC 8位单片机默认进制是十六进制,在十六进制数之前加上Ox,如H2F可以写成Ox2F。
指令的操作数项也是可选项
PIC系列与MCS-51系列8位单片机一样,存在寻址方法,即操作数的来源或去向问题。因PIC系列微控制器采用了精简指令集(RISC)结构体系,其寻址方式和指令都既少而又简单。其寻址方式根据操作数来源的不同,可分为立即数寻址、直接寻址、寄存器间接寻址和位寻址四种。所以PIC系列单片机指令中的操作数常常出现有关寄存器符号。有关的寻址实例,均可在本文的后面找到。
4注释 用来对程序作些说明,便于人们阅读程序。注释开始之前用分号(;)与其它部分相隔。当汇编程序检测到分号时,其后面的字符不再处理。值得注意:在用到子程序时应说明程序的入口条件、出口条件以及该程序应完成的功能和作用。
二、清零指令(共4条)
1寄存器清零指令
实例:CLRW;寄存器W被清零
说明:该条指令很简单,其中W为PIC单片机的工作寄存器,相当于MCS-51系列单片机中的累加器A,CLR是英语Clear的缩写字母。
2?看门狗定时器清零指令。
实例:CLRWDT;看门狗定时器清零(若已赋值,同时清预分频器)
说明:WDT是英语Watchdog Timer的缩写字母。CLR见上述说明。注意该两条指令无操作数。
3寄存器f清零指令。指令格式:CLRF f
实例:CLRF TMRO;对TMRO清零
说明:在PIC系列8位单片机中,常用符号F(或f)代表片内的各种寄程器和F的序号地址。F取值按PIC系列不同型号而不同,一般为Ox00~Ox1F/7F/FF。TMRO代表定时器/计数器TMRO,所以CLRF对寄程器清零,采用了直接寻址方式直接给出要访问的寄存器TMRO。
4位清零指令。指令格式 BCF f,b
实例:BCF REG1,2;把寄存器REG1的D2位清零
说明:BCF是英语Bit Clear F的缩写。指令格式中的F,同上说明;符号b是表示PIC片内某个8位数据寄存器F的位号(或位地址),所以b的取值为0~7或D0~D7。实例中REG是Register的缩写。实例中的2代表指令格式中的b=2即寄存器REG1的D2位。
通过上述四条清零指令格式和实例,可以说明,学习PIC系列8位单片机的指令时应首先了解指令的助记符意义(功能),再有就是它的表达方式。初学者没有必要死记指令,重要是理解和实践。
三、面向字节、常数与控制操作的指令
1传送立即数至工作寄存器W指令
指令格式:MOVLW k;k表示常数、立即数和标号
说明:MOVLW是Move Literal to w的缩写
实例:MOVL 0x1E;常数30送W
2I/O口控制寄存器TRIS设置指令
指令格式;TRIS f
说明;TRIS f是Load TRIS Register的缩写。其功能是把工作寄存器W的内容送入I/O口控制寄存器f。当W=0时,置对应I/O口为输出;W=1,置I/O口为输入。
实例:MOVLW 0x00 ;把00H送入W
TRIS RA ;置PIC RA口为输出
MOVLW 0xFF ;把FFH送入W
TRIS RB ;置PIC RB口为输入
说明:这是PIC汇编语言中常用的几条指令,即设置某个I/O口(这里是RA口和RB口)为输入或输出的语句。可见,识读指令时,一应充分理解语句格式的功能,二应前后联系阅读。
3?W寄存器内容送寄存器f(W内容保持不变)指令
指令格式:MOVWF f
说明:MOVWF是Move W to f的缩写
实例:MOVLW 0x0B;送0BH送W
MOVWF 6 ;送W内容到RB口
说明:第一条指令0x0B(常数11)送工作寄存器W,第二条指令,把W内容常数11送到寄存器F6中,查表F6即为RB口,所以PORT_B(B口)=0BH=D11
4寄存器f传送指令
指令格式:MOVF f,d
说明:MOVF是Move f的缩写。F代表PIC中的某个寄存器。指令中的d规定:d=0时,f内容送W;d=1时,f内容送寄存器。
实例:MOVF 6,0 ;RB口内容送W
MOVWF 8 ;RB口内容送f8
说明:第一条指令中的6代表寄存器f=6,查寄存器表f=6为RB口;0代表d=0,代表选择的目标为寄存器W。第二条指令中的8代表寄存器f=8。所以两条指令结果是把RB口的内容送f8。至于f8内容是多少?还应在汇编语言开始时附加指令,这里从略。
5空操作指令
指令格式:NOP
说明:NOP是英语No Operation的缩写。NOP无操作数,所以称为空操作。执行NOP指令只使程序计数器PC加1,所以占用一个机器周期。
实例:MOVLW 0xOF ;送OFH到W
MOVWF PORT_B ;W内容写入B口
NOP ;空操作
MOVF PORT_B,W ;读操作
说明:该三条指令是一种对I/O口的B口连续操作的实例,其目的达到写入B口的内容要读出时,应保证写、读之间有个稳定时间,因此加入了空操作指令NOP。
6无条件跳转指令
指令格式:GOTO k
说明:执行该条指令时,将指令转移到指定的地址(跳转)。指令中的k,常与程序中的标号联系起来。
实例:见第9条指令中
7寄存器内容减1,结果为零的间跳指令
指令格式:DECFSZ f,d
说明:DECFSZ是英语Decrement f,Skip of not 0的缩写。符号f,d代表的意义,前述已作说明。该条指令是指寄存器的内容减1存入W(d=0)或f(d=1)中。若指令执行结果减1不为零,指令顺序执行;为零时,就间跳下一条指令后再执行(等效顺序执行一条空指令NOP),实际指令中,当d=1时,该项常被略去。
8寄存器内容加1,结果为零间跳指令
指令格式:INCFSZ f,d
说明:INCFSZ是英语Increment f,Skip of 0的缩写。该条指令与上一条(7)指令差别仅在于“1”上,即执行这条指令时,寄存器f内容加1,若结果不为零,则指令顺序执行;为零则指令间跳执行。执行这条指令的其它逻辑关系与上条相同。
9子程序返回指令
指令格式:RETLW k
说明:RETLW是Return Literal to W的缩写。该指令代表子程序返回,返回前先把8位立即数送W。
实例:PIC某个汇编语言的延时子程序(摘要):
(1)BELY MOVLW 0xC5 ;送延时常数0C5H入W
(2) MOVWF COUNT2;0C5H送入计数器2
(3) CLRF COUNT1;对计数器1清零
(4)LOOP INCFSZ COUNT1;计数器1加1计数器1加
1结果不为零,跳转循环
(5) GOTO LOOP ;
(6) DECTSZ CPUNT2 ;计数2减1计数器2减1
结果不为零,跳转循环重
复执行第4条指令
(7) GOTO LOOP ;
(8) RETLW 0 ;子程序执行结束返回
说明:程序中的注释已分别对每条指令的功能作了说明,补充说明1?当执行第(4)条加1指令结果为零时,就间跳转到执行第(6)条指令。2?当执行第(6)条减1指令结果为零时,就间跳转到第(8)条子程序返回,整个延时指令才算完成。3?计数器1或2代表PIC中某个寄存器,该寄存器由程序开始的伪指令赋值决定(关于伪指令今后将作专门介绍)。
本文关于指令的注释将与前述指令中的略有不同。前述指令注释时是对指令具体完成的功能给以说明,这种注释方法对初学者确实易于接受和理解,但是实际应用中的PIC产品汇编语言的注释通常是以程序要做什么(或指令的作用)而不是说指令的直接功能。鉴于上述原因,下述的指令注释将改变过去的注释方法,用程序应起的作用作注释。
10寄程器半字节交换指令
指令格式:SWAPF f,d
说明:SWAPF是Swap f的合写。符号f、d的意义与前述的相同。该条指令的功能是寄存器f的高4位与低4位交换,即指令执行前,若寄存器f的8位状态为D7、D6、D5、D4、D3、D2、D1、D0,执行后的8位状态变为D3、D2、D1、D0、D7、D6、D5、D4,其结果存入W(d=0)或f(d=1)中。
实例:中断现场保护是中断技术中重要部分。由于PIC16C××指令系统中没有进栈PUSH和出栈POP指令,所以只能用其它指令来实现。因为在主程序中常常用到工作寄存器W和状态寄存器STATUS,所以中断现场保护常要保护寄存器W和STATUS。
下面是对PIC16C7×系列芯片中断现场保护的实例程序。
MOVWF W_TEMP ;将W内容存入到临时寄存器
W_TEMP中
SWAPF STATUS,W ;交换STATUS与W内容
MOVWF STATUS_TEMP ;将STATUS的内容存入到临
… 时寄存器STATUS_TEMP中
中断服务程序
…
SWAPF STATUS_TEMP,W;交换STATUS_TEMP与W
的内容
MOVWF STATUS ;STATUS复原成原来的状态
SWAPF W_TEMP,F ;交换内容
SWAPF W_TEMP,W ;W复原成原来的状态
说明:上述程序中各条指令的注释基本上都是以程序应达到的目的而注释的,对每条指令的功能几乎未涉及。这是初学者应特别注意的。
11子程序调用指令(Subroutine Call)
指令格式:CALL k;k为立即地址
说明:子程序调用,不同型号芯片的实现方法不尽相同,其共同点是首先将返回地址((PC)+1)压栈保护,再转入所调用的子程序入口地址执行(与MCS-51指令功能相似)。
指令格式模式:HERE CALL DELAY;调用延时子程序
…
DELAY MOVLW 0x80 ;延时子程序
RETLW 0
说明:调用指令执行前,PC=地址HERE
调用指令执行后,PC=地址DELAY(标号),堆栈指针TOS=HERE+1(返回地址)。
实例:见下条指令的实例
12寄存器内容取反指令
指令格式:COMF f,d
说明:COMF是Complement f的缩写。其中d=1时,操作(f)→f;d=0时,操作(f)→w。
功能:寄存器f内容取反后送入W(d=0)或f自身(d=1)。
实例: ORG 0x1FF
GOTO MAIN
ORG 0
DELAY …
MAIN MOVLW 0 ;主程序开始
TRTS 5 ;设置RA口为输出
BCF 5,0 ;置RA口0位为0
LOOP CALL DELAY;闪动延时
COMF 5? ;RA口求反(亮—灭—
亮……控制)
GOTO LOOP ;循环
…
说明:上述指令是一种PIC16C54 LED发光控制实验部分程序。其中延时子程序DELY未列出,但不影响本条指令的识读。程序中的主程序开始的三条指令,均已介绍过,紧跟着的CALL指令是调用执行子程序,其入口地址为标号DELAY。子程序执行结束后,又执行COMF 5的LED发光亮—灭…亮—灭……控制指令。后面一条GOTO LOOP指令是达到LED循环点亮目的。
13面向位的操作指令(共4条,PIC高级产品多增一条)
该类指令除一条位清零外,另有一条寄存器f位b的置1指令和另外两条位跳步指令(PIC高级产品多增一条f的b位触发转换指令)。
(1)位置1指令。指令格式 BSF f,b
说明:BSF是Bit Set f的缩写。F和b的意义与前述相同,该条指令的功能是将寄存器f的b位置1。
(2)位测试、为零间跳指令。指令格式 BTFSC f,b
说明:BTFSC是Bit Test,Skip if Clear的缩写。指令功能是测试寄存器f位“b”,如为0,跳过下一条指令;为1顺序执行,即当f(b)=0时,就不执行当前指令而执行下一条指令(间跳),即用一条空指令NOP代替它,所以该条指令占用2个指令周期。
(3)位测试、为1间跳指令。指令格式 BTFSS f,b
说明:BTFSS是Bit Test,Skip if Set的缩写。其指令的逻辑功能与上条相反,位测试f(b)=1就间跳执行,f(b)=0顺序执行。
9. plc编程的语法规则
欧姆龙=d是双精度浮点比较指令,不支持直接赋值。只能比较地址。跟时间没有关系。需要赋值的话需要先赋值到某个比如DM地址,再指定dm地址进行比较。 可编程逻辑控制器的电源在整个系统中起着十分重要的作用。如果没有一个良好的、可靠的电源系统是无法正常工作的,因此,可编程逻辑控制器的制造商对电源的设计和制造也十分重视。一般交流电压波动在+10%(+15%)范围内,可以不采取其它措施而将PLC直接连接到交流电网上去 中央处理单元(CPU)是可编程逻辑控制器的控制中枢。它按照可编程逻辑控制器系统程序赋予的功能接收并存储从编程器键入的用户程序和数据;检查电源、存储器、I/O以及警戒定时器的状态,并能诊断用户程序中的语法错误。当可编程逻辑控制器投入运行时,首先它以扫描的方式接收现场各输入装置的状态和数据,并分别存入I/O映象区,然后从用户程序存储器中逐条读取用户程序,经过命令解释后按指令的规定执行逻辑或算数运算的结果送入I/O映象区或数据寄存器内。等所有的用户程序执行完毕之后,最后将I/O映象区的各输出状态或输出寄存器内的数据传送到相应的输出装置,如此循环运行,直到停止运行。
10. plc标准编程语言
LD:lader diagram
IL:这个又叫STL,statement list 而IL应该是日系叫法,I什么list的意思吧,没仔细研究过日系的PLC。
FBD:Function Block diagram
ST: structure text
SFC:Sequeential Function Chart
CFC:Continuous Function Chart
其实SFC和CFC是一个意思,各家称呼有点不一样