您的位置:控制工程论坛网论坛 » PLC与PAC » Rockwell A-B 可编程序控制器的编程

218hty

218hty   |   当前状态:在线

总积分:9071  2024年可用积分:0

注册时间: 2006-08-18

最后登录时间: 2019-06-25

空间 发短消息加为好友

Rockwell A-B 可编程序控制器的编程

218hty  发表于 2007/6/22 15:30:58      2237 查看 4 回复  [上一主题]  [下一主题]

手机阅读

Rockwell A-B 可编程序控制器的编程

贾爱民 王玉芬

【摘要】介绍Rockwell A-B可编程序控制器(PLC)的编程方式(梯形图、结构文本、顺序功能图等),指令系统及编程手段(编程软件及编程设备)。

  关键词:可编程序控制器;指令;编程软件

  Rockwell A-B的PLC由于支持多种编程方式,具有丰富的编程指令,加上各系列的PLC都有相应的编程软件,调试仿真软件,因此在自动化领域中已越来越受到广泛的应用。

1 编程方式
  所有的A-B PLC(Micrologix1000, SLC500, PLC-5和Controllogix)都支持梯形图的编程方式,而大多数PLC-5系列处理器(增强型以上系列)还支持结构文本及顺序功能图两种编程方式。
1.1 梯形图
  梯形图是一种最典型,也是最基本的编程方式,它采用图形语言,沿用了继电器的触点、线圈、串并联等术语和图形符号,并增加了一些继电接触控制没有的符号。梯形图形象、直观,对于熟悉继电器表示方式的人来说,非常容易接受,而不需要学习更深的计算机知识。这是一种最为广泛的编程方式,适用于顺序逻辑控制、离散量控制、定时/计数控制等操作。
  梯形图一般由多个不同的阶梯组成,每一个阶梯又可以由一个或几个输入指令及一个输出指令组成。输出指令应出现在阶梯的最右边,而输入指令则出现在输出指令的左边,如图1所示。

t50-1.gif (1162 bytes)

图1

1.2 结构文本
  结构文本类似于BASIC编程,利用它可以很方便地建立、编辑和实现复杂的算法,特别在数据处理、计算存储、决策判断、优化算法等涉及描述多种数据类型的变量应用中非常有效。对于PLC-5处理器结构文本可以支持以下结构。
  赋值:赋一个整数或浮点数值给一个数据单元
  非保持型位赋值:赋一个二进制数给一个位单元,当处理器工作模式从编程方式到运行方式时或当顺序功能图(SFC)的步被扫描后,这些位被清零。
  保持型位赋值:赋一个二进制数给一个位单元,当处理器工作模式从编程方式到运行方式时或SFC的步被扫描后,这些位并不被清零。
  IF-THEN-ELSE:有条件的执行一段程序
  FOR-NEXT:重复执行一段程序
  WHILE:只要输入表达式为真就重复执行一段程序
  REPEAT:重复执行一段程序直至某输入表达式为真
  EXIT:在处理器到达正常结束条件之前退出循环结构(REPEAT,FOR 或WHILE)
  CASE:根据一个数学表达式或操作数据的值有条件地执行一段程序
  ;;:相当于一个无操作指令NOP
  梯形图功能:可调用任一梯形图程序或指令。
  下面是一段利用结构文本的编程例子:
   IF (T4:0.DN) THEN
    TON(T4:0,0.01,100,0)
   ELSE RES(T4:0)
   END-IF
1.3 顺序功能图SFC
  SFC是一种顺序控制语言,用这种语言可以对一个控制过程进行控制,并显示该过程的状态。对于用户的应用,可将逻辑分成易于处理的步和转换来替代较长的梯形图或结构文本。SFC中的每一步对应于一个控制任务(实际上是一段为了完成某一个控制任务的程序,该程序可以是梯形图、结构文本、SFC的任一形式),用方框表示,步与步之间有转换条件(也是一段程序),通过对该条件的检测来决定处理器什么时候可始执行下一步,转换条件用水平线表示。通过显示这些步和转换条件,你可在任何时刻看到一个机器过程的状态。简单的SFC程序例子,如图2示。

t50-2.gif (4197 bytes)

图2

2 指令系统
  A-B PLC具有丰富的指令系统(约有110多条指令),虽然不同系列的PLC所能支持的指令的种类有所区别,但一些基本指令却是大家共用的,下面主要介绍PLC-5系列可编程序控制器的指令类型。
2.1 继电器指令
  继电器指令用于监控数据表中的位状态,如输入位或者计时器控制字的位,继电器型指令包括:
  检查通(XIC);检查断(XIO);
  输出激励(OTE);输出锁存(OTL);
  输出解锁(OTU);立即输入(IIN);
  立即输出(IOT)。
2.2 计时器/计数器指令
  计时器和计数器指令用于控制基于时间和事件计数的操作,包括:
  通延时计时器(TON);断延时计时器(TOF);
  保持型计时器(RTO);加计数(CTU);
  减计数(CTD);计时器/计数器复位(RES)。
2.3 比较指令
  比较指令用于比较表达式或指定比较指令的值,它包括:
  比较(CMP);等于(EQU);
  大于等于(GEQ);大于(GRT);
  小于等于(LEQ);小于(LES);
  极限测试(LIM);屏蔽相等比较(MEQ);
  不等于(NEQ)。
2.4 计算指令
  计算指令用于计算表达式或用指定的算术指令进行算术运算,它包括:
  计算(CPT);乘法(MUL);
  取反(NEG);正弦(SIN);
  平方根(SQR);排序(SRT);
  减法(SUB); 正切(TAN);
  反正弦(ASN);反余弦(ACS);
  对数(LOG);自然对数(LN);
  除法(DIV);余弦(COS);
  清零(CLR);平均值(AVE);
  反正切(ATN);加法(ADD);
  标准差(STD);X的Y次幂(XPY)。
2.5 逻辑指令
  逻辑指令用于逻辑操作,包括:
  与操作(AND);非操作(NOT);
  或操作(OR);异或操作(XOR)。
2.6 转换指令
  转换指令用于整数与BCD之间的相互转换及度与弧度之间的相互转换,包括:
  整数转换成BCD码(TOD);
  从BCD码转换成整数(FRD);
  弧度转换成度(DEG);
  度转换成弧度(RAD)。
2.7 位处理和传送指令
  位处理和传送指令用于位调整和位传送,包括:
  位分配(BTD);字传送(MOV);
  屏蔽传送(MVM)。
2.8 文件指令
  文件指令用于文件数据的运算和文件数据的比较,包括:
  文件算术和逻辑指令(FAL);
  文件检索和比较指令(FSC);
  文件拷贝(COP);
  文件填入(FLL)。
2.9 移位指令
  移位指令用于模拟部件和信息的运动或流动,包括:
  位左移(BSL);位右移(BSR);
先入先出装入(FFL);先入先出卸出(FFU)
后入先出装入(LFL);后入先出卸出(LFU)。
2.10 程序控制指令
  程序控制指令可以改变梯形图程序执行的方向,包括:
  跳转(JMP);禁止用户中断(UID);
  恒假指令(AFI);标号(LBL);
  允许用户中断(UIE);暂时结束(TND);
  中止(BRK);循环(FOR,NXT);
  SFC复位(SFR);子程序(SBR);
  跳转到子程序(JSR);返回(RET);
  主控复位(MCR);转换的结束(EOT)。
2.11 I/O信息指令
  用于信息的传送,包括对本地或远程I/O框架上的块传送模块进行读写,以及处理器之间的信息传送。
  块传送写(BTW);块传送读(BTR);
  信息指令(MSG)。
  另外还有用于控制具有连续性和重复操作特性的自动流水线上的顺序器指令(如顺序器输入SQI,顺序器输出SQO,顺序器装入SQL),用于过程控制的PID指令;用于检测用户程序的诊断指令,以及ASCⅡ指令等。大量的指令使用户在开发程序中,可以选取合适的指令,从而大大节省开?

1楼 0 0 回复
  • akira

    akira   |   当前状态:离线

    总积分:120  2024年可用积分:0

    注册时间: 2006-12-19

    最后登录时间: 2009-09-05

    空间 发短消息加为好友

    akira   发表于 2007/6/20 22:06:34

    可惜哦图挂了都楼主
    2楼 回复本楼

    引用 akira 2007/6/20 22:06:34 发表于2楼的内容

  • xh1951

    xh1951   |   当前状态:离线

    总积分:82  2024年可用积分:0

    注册时间: 2006-12-05

    最后登录时间: 2007-07-12

    空间 发短消息加为好友

    xh1951   发表于 2007/6/22 8:35:39

    我要1761-L32AWA,32点,220V输入的。有那位是AB的一级代理,可与我联系:xh1951@sina.com

    3楼 回复本楼

    引用 xh1951 2007/6/22 8:35:39 发表于3楼的内容

  • pengshfeng

    pengshfeng   |   当前状态:离线

    总积分:261  2024年可用积分:0

    注册时间: 2007-06-15

    最后登录时间: 2008-10-14

    空间 发短消息加为好友

    pengshfeng   发表于 2007/6/22 10:05:49

        我很喜欢单片机的编程,我用汇编比使用PLC的梯形图更顺手一些,学习了.
    4楼 回复本楼

    引用 pengshfeng 2007/6/22 10:05:49 发表于4楼的内容

  • 钟灵山

    钟灵山   |   当前状态:在线

    总积分:7804  2024年可用积分:0

    注册时间: 2006-12-25

    最后登录时间: 2011-12-24

    空间 发短消息加为好友

    钟灵山   发表于 2007/6/22 15:30:58

    5楼 回复本楼

    引用 钟灵山 2007/6/22 15:30:58 发表于5楼的内容

总共 , 当前 /