和利时LM技术问答汇总-(5)指令及编程技巧
    免费:费用:0
    企业:北京和利时智能技术有限公司点击数:5471
    开始日期:2009-11-03结束日期:2009-11-03

     

        提供方发布时间: 2007-5-24

        资料内容: 

         1、 G3系列PLC的指令系统是如何分类的?

        答:在可编程控制器中,使CPU完成某种操作或实现某种功能的命令及多个命令的组合称为指令,指令的集合称为指令系统。指令系统是可编程控制器硬件和软件的桥梁,是可编程控制器程序设计的基础。

        HOLLiAS-LEC G3 系列PLC为用户提供了丰富的指令,这些指令均可通过G3 PLC的编程软件PowerPro进行调用,操作简单,使用方便,为了用户便于记忆和方便使用,首先对这些指令进行分类。

        G3指令按指令功能不同可以分为基本指令和扩展指令两大类。一类是基本指令,包括全部IEC标准规定指令、高等数学运算指令等共340条,另一类是扩展指令主要包括外部中断指令、脉冲输出、两相计数等与硬件端口有关的指令共47条。

        基本指令主要包括布尔运算、算术运算、赋值运算、移位运算、比较运算、地址运算、数据类型转换、初等数学运算、定时器、计数器、边沿触发等与PLC硬件无关的指令。这些指令大部分采用使能运算符的形式调用。

        扩展指令主要包括外部中断指令、脉冲输出、两相计数等与硬件端口有关的指令,这些指令都要通过功能块的形式调用。

        2、 指令库是什么意思?如何分类?

        答:编写PLC程序的过程中,经常会引用一些有库指令,如字符串处理指令、触发器指令、计数器指令、PID控制器等等。把用来实现这些相关功能的指令集合起来进行存储,建立专门的指令库。

        指令库是G3 PLC指令代码的集合,所有的库都包含“库名.lib”文件(包含指令的输入输出代码),调用某个库指令必需载入相应的“库名.lib”文件。

        按照库中指令代码功能不同将其分为两类:

        第一类:基本指令库。正如将指令分为基本指令和扩展指令一样,把基本指令所对应的库称为基本指令库,基本指令库一共有6个库。

        第二类:扩展指令库。扩展指令对应的库称为扩展指令库,扩展指令库的库名都是以“hollysys”开头的。

        3、 使能运算符和功能块有什么区别?

        答:功能块和使能运算符是PowerPro调用指令的两种方式。这两者的使用有很大的区别,主要区别在于:

        1、 两者的调用方式不同。对于功能块,其自备使能端,调用的时候不会产生新的EN端。而对于使能运算符,调用的时候会自动产生EN使能端。而且,对于使能运算符调用,其右端与PLC程序的右母线是不相连的,而功能块调用是连接的。

        2、 两者的声明方式不同。对于功能块来说,要想调用功能块,必须对功能块进行实例声明。功能块的调用,只改变功能块实例中的值。可以通过输入“实例名.变量名”,引用功能块中的变量。而对于使能运算符来说,并不需要进行实例的声明。

        3、 两者在运行方式上也有区别。对于功能块,不管其使能端条件是否满足,PLC程序均运行此功能块,只是功能块根据输入的条件而进行运算和输出。但是对于使能运算符来说,前面的使能端EN若不满足,则使能运算符不会执行。

        4、 我如何在触摸屏上显示PLC程序中定时器的当前时间?

        答:在PowerPro软件中,定时器的当前时间采用的是时间变量的方式,即当前时间为T#XXXX的形式。而在触摸屏中显示的,只能是字或者双字类型,因此,在数据上传之前,必须要把时间类型的数据转变为整数类型。

        这里就需要用到转换指令,把时间类型的数据转变为其他类型。时间数据转变为WORD型数据,就使用“TIME_TO_WORD”指令。需要注意的是,“TIME_TO_WORD”指令在转换时,是把时间变量先转换为以ms为单位的时间,然后把时间的数值转变为WORD型。诸如我采用这个转换指令转换T#3s,则转换后的结果为3000。

        PowerPro软件提供了许多类似的转换指令,实现数据间的相互转换。任何的数据类型都可以转换为另外一种数据类型。

                               

        5、 G3系列PLC有开方运算吗?

        答:G3 PLC的指令系统提供非常丰富的初等运算指令,包括开方运算。开方运算的指令为“SQRT”,输入端是你希望进行运算的数值,输出端是计算结果,其数据类型为REAL型。
    除了开方指令,PowerPro还提供诸如绝对值、自然对数、指数、正弦、余弦、幂等多种初等数学运算指令和积分、微分、整型统计、实型统计等多种高等数据运算指令。这些指令为PLC进行较复杂的数学运算提供了方便。

                              

        6、 我在程序中如何设置,才能实现PLC和触摸屏通过Modbus协议通讯?

        答:Modbus协议是一种公开的、在工控领域使用非常普遍的协议。G3系列PLC的串口支持Modbus RTU协议。使用Modbus协议,一般需要进行以下两项设置:Modbus从站地址设置和串口通讯参数设置。

        对于设置Modbus从站地址,需要使用“SET_LOCAL_ADDRESS”指令。这个指令只有一个输入端,即所需设定的PLC作为Modbus从站的地址。这个值可以是1~247之间的任意一个值。当然,设置完成后,这个地址就需要和触摸屏统一。

        对于通讯参数设置,PowerPro提供了“Reset_COMM_PRMT”、“Reset_COMM2_PRMT”指令。这两个指令的区别在于设定的是RS232端口还是RS485端口。串口的通讯参数主要包括波特率、起始位、数据位、奇偶校验位和停止位等。对G3系列PLC来讲,波特率可以为300~38400bps,起始位为1位,数据位为8位,奇偶校验位为0或者1位,停止位为1或者2位。

        7、 我要用定时器定一个20h的时间,但是中间PLC可能断电,我希望断电重新上电以后,PLC能继续按断电之前所定时的时间继续往下计时,不知道有什么方法?

        答:这需要掉电保持功能。定时器功能块无法实现掉电保持功能,但G3系列PLC提供了6K的数据掉电保持区,可以利用数据掉电保持区来实现该要求。

        将每次上电后定时器运行的时间用掉电保持区的数据存储起来,进行累加,然后再加上当前运行的时间,就是从一开始上电后,PLC所运行的总时间。这是该要求的一个编程思路。具体程序见下图。

                

        图中time3就表示当前的时间。time2变量为掉电保持的数据。

        8、 如何实现模拟量的输入输出?

        答:要实现模拟量的输入输出,需要做到以下几步:

        1、 在PLC配置时,正确配置模拟量输入输出模块,并正确选择参数;

        2、 在程序中,需要添加模拟量输入输出功能块。假如有模拟量输入模块,则需要添加“ANOLOG_IN”功能块。假如有模拟量输出模块,则需要添加“ANOLOG_OUT”功能块。这两个功能块都只有一个输入,即模块地址。模块地址就是模块的节点号。在PLC配置中可以查看所配置的扩展模块的节点号。

        3、 对于模拟量输入来讲,各个通道的数值被存放在PLC模块的I数据区,具体地址可以查看PLC配置时模块所分配的地址。对于模拟量输出模块来讲,我们需要往PLC的Q区写一个数值,然后模拟量模块将该数值经过DA转换为电压或者电流信号输出。具体地址同样见PLC配置。

        9、 如何实现中断操作?

        答:中断是CPU的一种工作方式。在正常状态下,CPU按照所设定的程序循环运行。当有一个外部突发事件来临时,PLC停止当前运行的程序,保存好当前的一些状态,然后去处理突然事件,处理完之后再回到刚才停止的地方继续往下运行。这就是中断的处理过程。突然事件就是中断。处理突然事件的程序,就是中断服务程序。

        G3系列PLC实现中断操作,需要进行以下几个步骤:

        1、 编写中断服务程序。中断服务程序是中断产生时所要执行的程序。中断服务程序以子程序的形式,在PowerPro软件中事先编写完成。

        2、 进行系统事件配置。中断就是系统事件。所谓的系统事件配置,就是告诉PLC系统,在中断到来的时候,需要调用哪个中断服务子程序。下图是系统事件配置图。我使用了外部快速中断3,调用interrupt中断子程序。

             

        3、 需要在程序中添加外部中断功能块。G3系列PLC提供2个或者4个快速外部中断,分别是IX0.6、IX0.7、IX1.0、IX1.1。每个中断,均可以配置边沿触发的类型。诸如上升沿触发还是下降沿触发等。该功能块“Fast_ExINT_E”就是用来配置边沿触发类型的。

        10、 在SFC语句中,我希望输入IX0.0为0的时候进行转换,如何实现?
    答:在SFC语句中,转换条件可以用表达式的形式,假如要实现如上所述的转换条件,见下图,可以使用 NOT %IX0.0

                                

        在转换条件中,也可以使用OR,AND等逻辑运算符。

        11、 PowerPro中real型数据和string型数据都是以什么方式存储的?
    答:PowerPro中数据存储都是符合IEEE标准的。在PLC内,real存储格式为32位单精度浮点数格式,string则以ASCII码形式存储。

        12、 如果想使用MOVE使能运算符,但是右键点击使能运算符时,都出来AND运算符,怎样才能改成MOVE运算符?

        答:有三种方法可以实现MOVE使能运算符输入:

        点击AND使能运算符的AND三个字母,然后把AND修改为MOVE,这样使能运算符自动变成MOVE运算符

        点击AND使能运算符的AND三个字母,然后按快捷键F2,出来提示输入对话框,选择FBD operaters,可以在右边选择MOVE,然后点击确认,这样使能运算符变成了MOVE运算符

        点击AND使能运算符的AND三个字母,然后选择菜单->编辑->提示输入,出来提示输入对话框,选择FBD operaters,可以在右边选择MOVE,然后点击确认,这样使能运算符变成了MOVE运算符

        13、 “LD”语言编程时如何编写复杂的逻辑关系?

        答:按Shift键可以多选对象,而且使能运算符时可以组合使用,也可以添加多个输出和输入。如下图:

            

        14、 怎样调用子程序?

        答:子程序无需在任务中作配置。直接添加,调用即可。

        首先添加: 在对象组织器中选中“程序”选项卡,在程序列表中点击右键,选择“添加”,在弹出的“创建POU”对话框中,选择“POU类型”为“程序”,并定义程序名称。

        其次调用: PLC_PRG程序中可以用"使能运算符"调用。如下图所示调用名称为“ttt”的子程序。

             

     

    • 在线反馈
    1.我有以下需求:



    2.详细的需求:
    姓名:
    单位:
    电话:
    邮件: