控制器及其编程方法_3

文档序号:9793948阅读:来源:国知局
数据变换编号是每个数据变换功能的编号,例如,线性变换为“I”、逆线性变换为“2”、根据压差运算流量的开平方运算为“3”,一次延迟为“4”,功率因数变换为“5”等。
[0082]在第3操作数412C中定义运算处理编号。在此,关于运算处理编号,例如干涉型PID控制为“I”、非干涉型PID控制为“2”、比率运算为“3”等。
[0083]在第4操作数412D中定义用来选定输出处理所需的功能的参数。例如,在第4操作数412D的上位字节中,为了选定针对来自控制运算处理的操作数据的数据变换功能,定义输出数据变换编号。在此,输出数据变换编号是对数据进行线性变换和非线性变换的功能的编号,例如,线性变换为“I”、逆线性变换为“2”等。
[0084]另外,在第4操作数412D的下位字节中,为了选定把操作数据从标准化尺度变换成适合工厂输入输出8的D/A变换量化规格和面向工厂20的模拟信号规格的尺度的功能,定义D/A变换编号。在此,D/A变换编号是用来定义模拟信号规格和量化规格的编号,例如,把8比特数据变换成I?5V的模拟信号时为“I”,把12比特数据变换成I?5V的模拟信号时为“2”,把14比特数据变换成I?5V的模拟信号时为“3”,把8比特数据变换成O?5V的模拟信号时为“4” 等。
[0085]当检测到循环命令时,顺序处理器I在取得循环命令信息,将其输出给运算处理器2后,将执行权转移给运算处理器2。运算处理器2取得执行权和循环命令信息,启动循环控制程序6。循环控制程序6首先执行第I操作数412A、第2操作数412B、第3操作数412C、第4操作数412D的取得处理,接着按照第2操作数412B的参数执行输入处理,接着按照第3操作数412C的参数执行控制运算处理,接着按照第4操作数412D的参数把运算结果存储在寄存器5中。这样,通过以I个步骤生成循环命令,可以定义I个循环控制所需的输入处理、控制运算处理、输出处理,所以仅通过变更操作数的定义,就可以构建多种多样的循环控制。
[0086]图5是表示顺序处理器I的处理流程的图。
[0087]顺序处理器I首先在步骤SllO中判断是否是梯形程序执行开始定时。例如,在到达预先设定的控制周期时判断为开始,转到步骤Slll,如果没有到达则作为不可执行返回到开始。
[0088]在步骤Slll中,把步骤计数器清零,以便可以从步骤编号O开始执行。在步骤S112中,以步骤计数器的步骤为对象读出命令。在步骤S113中,判断命令是否是表示梯形程序4的末尾的“END”,在为“END”以外的命令时转到步骤S114,在是“END”时返回到开始。在步骤
SI14中,判断命令是顺序命令还是循环命令,是顺序命令时转到步骤SI 15,是循环命令时转至 IJS117。
[0089]在步骤S115中,读出操作数。在步骤S116中,执行读出的命令和操作数。
[0090]在步骤S117中,对运算处理器2输出循环命令信息。在此,循环命令信息例如是循环命令的名称、梯形程序4内的循环命令的地址、梯形程序4内的第I操作数的地址。在步骤S118中,将执行权转给运算处理器2。在步骤S119中,直到从运算处理器2取得执行权为止为等待状态,如果取得执行权则转到步骤SI 20。
[0091 ] 在步骤SI20中,对步骤计数器加I,返回步骤SI 12。
[0092]这样,顺序处理器I通过反复执行从步骤S112到步骤S120的处理,从开头到末尾为止执行梯形程序4。
[0093]图6是表示运算处理器2的处理流程的图。
[0094]运算处理器2首先在步骤S210中判断是否取得了来自顺序处理器I的执行权,取得了执行权时判断为有执行权,转到步骤S211,如果没有取得执行权则作为无执行权返回到开始。
[0095]在步骤S212中,取得来自顺序处理器I的循环命令信息。在此,循环命令信息例如是循环命令的名称、第I操作数的地址等。
[0096]在步骤S212中,根据循环命令的名称确定应执行的循环控制程序6的开头地址。接着从循环命令信息把第I操作数的地址作为自变量,执行循环控制程序6。
[0097]在步骤S213中,在直到最后为止执行了循环控制程序6之后,将执行权转移给顺序处理器I,并返回到开始。
[0098]图7是表示循环控制程序6的处理流程的图。以下参照图4,用图7说明循环控制程序6的处理流程。
[0099]在步骤S600中,从运算处理器2取得第I操作数的地址。
[0100]在步骤S601中,读出第I操作数412A,作为循环编号。在步骤S602中,读出第2操作数412B,将412B的上位字节作为A/D变换编号,将下位字节作为输入数据变换编号。在步骤S603中,读出第3操作数412C,作为运算处理编号。在步骤S604中读出第4操作数412D。将412D的上位字节作为输出数据变换编号,将下位字节作为D/A变换编号。
[0101]在步骤S605中,根据在步骤S601取得的循环编号确定运算用寄存器,读出在相对第I个字中存储的测量数据。测量数据例如是通过工厂输入输出8把工厂20的模拟信号进行A/D变换得到的数据。在A/D变换的量化规格中例如有8比特、12比特、14比特等种类,测量数据分别是O?511、0?4095、0?16383等的尺度。
[0102]在步骤S606中,把测量数据的尺度变换(标准化)为称为标准值的尺度。标准值例如是由O?10000的尺度构成的整数型的数据。
[0103]如果A/D变换编号为“2”,则判断为量化规格是12比特,把测量数据从O?4095变换成O?10000。另外,如果A/D变换编号为“I”,则判断为量化规格是8比特,把测量数据从O?511变换成O?10000。
[0104]在步骤S607中,把变换成标准值的测量数据作为对象,按照输入数据变换编号执行输入变换处理。例如,如果输入数据变换编号是“I”,则进行线性变换,如果是“2”则进行逆线性变换,如果是“3”则进行把压差变换成流量的开平方运算,如果是“4”则进行一次延迟运算等。
[0105]在步骤S608中,把输入变换处理后的测量数据作为对象,按照运算处理编号执行控制运算处理,把处理结果作为操作数据输出。例如,如果运算处理编号是“I”则为干涉型PID控制,如果是“2”则为非干涉型PID控制,如果是“3”则为比率运算等。
[0106]在步骤S609中,按照输出数据变换编号对操作数据执行尺度变换等输出变换运算处理。例如,如果输出数据变换编号是“I”则为线性变换,如果是“2”则为逆线性变换等。
[0107]在步骤S610中,以操作数据为对象,从标准值的尺度变换成与D/A变换编号对应的尺度。例如,如果D/A变换编号是“I”则为8比特,如果是“2”则为12比特,如果是“3”则为14比特等。
[0108]在步骤S611中,从运算用寄存器的开头起在相对第2个字中存储操作数据,然后结束处理。
[0109]在此,所谓标准值是指在循环控制运算处理中使用的数据类型,作为整数型的O?10000尺度进行了说明,但数据类型也可以是固定小数点型、浮动小数点型等。
[0110]图8是表示工厂20的循环控制的功能的一例的图。利用图8说明通过蝴蝶阀开度调节流过配管的流量的循环控制的处理构成。
[0111]首先说明作为控制对象过程的工厂20的结构。从堤坝汲取的原水30经由配管20A、流孔21、配管20B、蝴蝶阀23、配管20C送到沉降池。流孔21测量配管内的流孔前后的压差,将其发送到压差计22。压差计22把压差测量数据变换成I?5V的模拟信号,输出给控制器10。开度设定器24通过O?5V的模拟信号按照从控制器10设定的开度,维持蝴蝶阀23的开度。
[0112]控制器10经由在工厂输入输出8安装的12比特A/D变换81,从压差计22输入压差测量数据,并作为12比特数据存储在输入寄存器XW100中。另外,控制器10通过梯形程序4取得12比特的压差测量数据,执行非干涉型PID控制,把作为执行结果的开度操作数据作为8比特数据存储在输出寄存器YWl00中。然后,经由在工厂输入输出8安装的8比特D/A变换82向开度设定器24输出开度操作数据。
[0113]下面,详细说明基于在梯形程序4中记述的步骤42、43、44的循环控制运算处理的动作。
[0114]步骤42由步骤编号420、顺序命令421、第I操作数422A、第2操作数422B构成,通过顺序命令421中定义的“MOV”向运算用寄存器LW001传送第I操作数422A中定义的输入寄存器XW100的数据。如在图4中说明的那样,运算用寄存器LW001相当于循环编号“I”的测量数据。
[0115]步骤43由步骤编号430、循环命令431、第I操作数432A、第2操作数432B、第3操作数432C、第4操作数432D构成。循环命令431把第I操作数432A作为循环编号,把第2操作数432B作为输入处理的参数,把第3操作数432C作为控制运算处理的参数,把第4操作数432D作为输出处理的参数,执行循环控制运算。
[0116]以下,按执行顺序说明循环命令431的循环控制运算处理。
[0117]首先,通过把第I操作数432A定义为“0001”,把循环编号设定为“I”。由此,循环控制运算处理使用循环编号“I”用的运算用寄存器LW000?LW00F。然后,从运算用寄存器的开头起的相对第I个字的LW001读出测量数据,作为压差测量数据使用。
[0118]通过把第2操作数432B的上位字节定义为“02”,把A/D变换编号设定为“2”。由于A/D变换编号“2”相当于对12比特数据进行标准值化的功能,所以执行把存储在运算用寄存器LW001中的压差测量数据从12比特数据变换成标准值的处理。
[0119]通过把第2操作数43
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1