S7 200模拟量编程手册
- 格式:doc
- 大小:280.50 KB
- 文档页数:6
模拟量编程模拟量扩展模块S7-200CPU要附加模拟量扩展模块才能实现模拟量输入/输出的功能。
普通模拟量模块有:•EM231:4通道电流/电压输入模块;配置拨码开关。
其中使用开关3,4,5来选择模拟量输入范围,使用开关1,2来选择电流输入模式(只有通道6和7可以用作电流输入)。
8输入的EM231模块只有第6、7两通道可以用做电流输入,使用拨码开关1、2对其进行设置:当开关1为“ON”时,通道6用做电流输入;开关2为“ON”时,通道7用做电流输入。
反之,当1、2开关为“OFF”时,6、7通道用做电压输入。
表2.新EM2318模拟量输入配置开关表•EM232:2通道电流/电压输出模块;•EM235:4通道电流/电压输入,1通道电流/电压输出。
温度测量型模块有:•EM231TC:4通道热电偶输入模块;•EM231RTD:2通道热电阻输入模块。
有一款新产品CPU224XP在CPU本体上集成了简单的模拟量I/O通道,性能不如模拟量模块。
将模拟量传感器信号连接到S7-200模拟量输入模块(EM231,EM235)模拟量输入模块可以通过DIP拨码开关设置为不同的测量方法。
开关的设置应用于整个模块,一个模块只能设置为一种测量范围。
(注:开关设置只有在重新上电后才能生效)DIP拨码开关的具体设置请参照《S7-200系统手册》。
输入阻抗与连接有关:电压测量时,输入是高阻抗为10MOhm;电流测量时,需要将Rx和x短接,阻抗降到250Ohm。
下列各图是各种传感器连接到S7-200模拟量输入模块的示例:1.四线制-外供电-电流型信号接线2.二线制-电流测量接线图中的L+和M属于为模拟量模块供电的CPU传感器电源。
如果使用其他外接电源,只要用相应电源的输出端取代上图中的L+和M,而且要使其M和为模块供电的M连接起来,如图3。
图3.三线制电流信号测量接线图4.四线制电压信号测量为了防止模拟量模块因短路而损坏,可以在传感器回路中串入一个750Ohm电阻。
西门子S7-200模拟量编程本文以EM235为例讲解S7-200模拟量编程,主要包括以下内容:1、模拟量扩展模块接线图及模块设置2、模拟量扩展模块的寻址3、模拟量值和A/D转换值的转换4、编程实例模拟量扩展模块接线图及模块设置EM235是最常用的模拟量扩展模块,它实现了4路模拟量输入和1路模拟量输出功能。
下面以EM235为例讲解模拟量扩展模块接线图,如图1。
图1图1演示了模拟量扩展模块的接线方法,对于电压信号,按正、负极直接接入X+和X-;对于电流信号,将RX和X+短接后接入电流输入信号的“+”端;未连接传感器的通道要将X+和X-短接。
对于某一模块,只能将输入端同时设置为一种量程和格式,即相同的输入量程和分辨率。
(后面将详细介绍)量的单/双极性、增益和衰减。
时,模拟量输入为单极性输入,SW6为OFF时,模拟量输入为双极性输入。
SW4和SW5决定输入模拟量的增益选择,而SW1,SW2,SW3共同决定了模拟量的衰减选择。
6个DIP开关决定了所有的输入设置。
也就是说开关的设置应用于整个模块,开关设置也只有在重新上电后才能生效。
输入校准模拟量输入模块使用前应进行输入校准。
其实出厂前已经进行了输入校准,如果OFFSET和GAIN电位器已被重新调整,需要重新进行输入校准。
其步骤如下:A、切断模块电源,选择需要的输入范围。
B、接通CPU和模块电源,使模块稳定15分钟。
C、用一个变送器,一个电压源或一个电流源,将零值信号加到一个输入端。
D、读取适当的输入通道在CPU中的测量值。
E、调节OFFSET(偏置)电位计,直到读数为零,或所需要的数字数据值。
F、将一个满刻度值信号接到输入端子中的一个,读出送到CPU的值。
G、调节GAIN(增益)电位计,直到读数为32000或所需要的数字数据值。
H、必要时,重复偏置和增益校准过程。
EM235输入数据字格式下图给出了12位数据值在CPU的模拟量输入字中的位置图2可见,模拟量到数字量转换器(ADC)的12位读数是左对齐的。
S7-200模拟量编程本文以EM235为例讲解S7-200模拟量编程,主要包括以下内容:1、模拟量扩展模块接线图及模块设置2、模拟量扩展模块的寻址3、模拟量值和A/D转换值的转换4、编程实例模拟量扩展模块接线图及模块设置EM235是最常用的模拟量扩展模块,它实现了4路模拟量输入和1路模拟量输出功能。
下面以EM235为例讲解模拟量扩展模块接线图,如图1。
图1图1演示了模拟量扩展模块的接线方法,对于电压信号,按正、负极直接接入X+和X-;对于电流信号,将RX和X+短接后接入电流输入信号的“+”端;未连接传感器的通道要将X+和X-短接。
对于某一模块,只能将输入端同时设置为一种量程和格式,即相同的输入量程和分辨率。
(后面将详细介绍)EM235的常用技术参数:模拟量输入特性模拟量输入点数4输入范围电压(单极性)0~10V0~5V0~1V0~500mV0~100mV0~50mV电压(双极性)±10V±5V±2.5V±1V±500mV±250mV±100mV±50mV±25mV电流0~20mA数据字格式双极性全量程范围-32000~+32000单极性全量程范围0~32000分辨率12位A/D转换器模拟量输出特性模拟量输出点数1信号范围电压输出±10V电流输出0~20mA数据字格式电压-32000~+32000电流0~32000分辨率电流电压12位电流11位下表说明如何用DIP开关设置EM235扩展模块,开关1到6可选择输入模拟量的单/双极性、增益和衰减。
时,模拟量输入为单极性输入,SW6为OFF时,模拟量输入为双极性输入。
SW4和SW5决定输入模拟量的增益选择,而SW1,SW2,SW3共同决定了模拟量的衰减选择。
6个DIP开关决定了所有的输入设置。
也就是说开关的设置应用于整个模块,开关设置也只有在重新上电后才能生效。
模拟量比例换算之迟辟智美创作、(D/A)数/模转换之间的对应关系,S7200 CPU内部用数值暗示外部的模拟量信号,两者之间有一定的数学关系.这个关系就是模拟用一个0 20mA的模拟量信号输入,在S7200 CPU内部,0 20mA对应于数值范围0 32000;对4 20mA的信号,对应的内部数值为都是0 16MPa,可是一个是0 20mA输出,另一个是4 20mA输出.它们在相同的压力下,变送的模拟量电流年夜小分歧,在S7200内者之间存在比例换算关系.模拟量输出的情况也年夜致相同.4 20mA之间换算关系,但模拟量转换的目的显然不是在S7200 CPU中获得一个0 32000之类的数值;对编程和把持人员来说,获得值、流量值),或者对应物理量占量程的百分比数值要更方便,这是换算的最终目标.程软件Micro/WIN32中的PID Wizard(PID向导)生成PID功能子法式,就不用进行0 20mA与4 20mA信号之间的换算,只需进通用比例换算公式模拟量的输入/输出都可以用下列的通用换算公式换算:Ov = [(Osh Osl)*(Iv Isl)/(Ish Isl)] + Osl其中:Ov: 换算结果Iv: 换算对象Osh: 换算结果的高限Osl: 换算结果的低限Ish: 换算对象的高限Isl: 换算对象的低限它们之间的关系可以图示如下:图1. 模拟量比例换算关系实用指令库在Step7 Micro/WIN Programming Tips(Micro/WIN编程技巧中)的Tip38就是关于如何实现上述转换的例程.为便于使用,现已将其导出成为”自界说指令库“,可以添加到自己的Micro/WIN编程软件中应用.个指令库中,子法式Scale_I_to_R可用来进行模拟量输入到S7200内部数据的转换;子法式Scale_R_I可用于内部数据到模拟量输出其中scale_I_R法式段例:将4 20mA 模拟量输入转换为内部百分比值 将内部百分比值转换为4 20mA 模拟量输出对精度要求不高的处所,420ma 转换成020ma 可按比例计算公式 =((ai4)/16)*20其法式段实例:发贴者 Memory Of Heart 时间:下午3:540 评论S7200 +TD400C显示系统时间、运行时间的法式看见论坛上有些朋友对西门子TD文本显示器显示时钟的问题比力关心,在这个帖子里笔者给出一个已经应用于工程上的法式例子,并作出详细分析,希望对关心这个问题的朋友有些帮手.这个法式是S7200+TD400C显示系统时间、当班运行时间、累计运行时间的例子.以下是s7200 S7200+TD400C显示系统时间、运行时间的法式详解:系统硬件配置如下:PLC:西门子S7200 CN;CPU 226 CN REL02.01;AC100~230V电源/DC24V输入/继电器输出;定货号6ES72162BD230XB8;固件02.01 Build2;ASIC:01.00.文本显示器:TD400C;定货号6A V6 66400AA000AX0;自带9芯TD/CPU电缆;版本:1.0.0.3.S7 200与TD400C通过TD400C随机配置的TD/CPU通信电缆连接,实现电源供给和通信(因为当TD400C与S7200CPU之间的距离小于 2.5米时,采纳TD/CPU电缆的方式进行供电;当TD400C与S7200 CPU之间的距离超越2.5米时,使用外部电源供电并使用PROFIBUS组件连接网络). 系统软件配置如下:S7200参数设置:在“系统块”的“断电数据坚持”中设置VW1600以后2000个单位为断电数据坚持.TD400C参数设置:TD400C地址:1CPU地址:2参数块地址:0波特率:9.6KHSA:31GUF:10键盘声音反馈:开屏幕呵护时间:10分钟S7200的系统时钟调整为准确的北京时间.下面先写一下该法式所用到的存储器的意义,以便于理解法式.本班运行时间:小时VW1600、分钟VW1604、秒VW1608;累计运行时间:小时VW1620、分钟VW1624、秒VW1628;系统时间(BCD码字节):年VB2000、月VB、日VB、小时VB、分钟VB、秒VB、星期VB;系统时间(整数):年VW1644、月VW1648、日VW1652、小时VW1656、分钟VW1660、秒VW1664;本班设备开始运行时间:小时VW1680、分钟VW1684、秒VW1688;本班设备最后运行时间:小时VW1700、分钟VW1704、秒VW1708;上班时间设置:小时VW1720、分钟VW1724;下班时间设置:小时VW1740、分钟VW1744;本班运行时间复位:VW1760;本班运行时间被复位的时间:年VW1764、月VW1768、日VW1772、小时VW1776、分钟VW1780;累计运行时间复位:VW1800;累计运行时间被复位的时间:年VW1804、月VW1808、日VW1812、小时VW1816、分钟VW1820;EEPROM写入次数:VW3558;因为考虑到编程中可能会用到一些中间存储器,所以在TD400C中界说存储器时留了余量,每两个存储器之间都有1个字的存储器留作备用. 根据相关技术要求,先组态TD400C画面,到达预期目的.“工具”——“文本显示向导”,先配置TD400C:然后点击“用户菜单”,配置用户菜单.因为该工程的界面要求很简单,所以每个菜单项只配置了1个屏幕(最多可以配置8个屏幕).第1个屏幕:该屏幕中的第1个数据(这里的数据排列顺序为:先按第1排从左至右、再按第2排从左至右的顺序依次排列,下同):因为版面的问题,该屏幕的其它PLC数据和其它屏幕中的PLC数据就纷歧一列举了.这些数据都是VW、无符号数类型,具体对应情况请参阅3楼说明. 第2个屏幕:第3个屏幕:第4个屏幕:第5个屏幕:第??个屏幕:??第??个屏幕:??TOD R指令读到的实时时钟是BCD字节,要想把这个BCD字节显示出来,需要进行转换.在网上也曾查阅过,一部份人先用BTI指令把这个BCD字节转换整数,然后用ITA指令把整数转换为ASCII字符串,在画面中嵌入这个ASCII字符串用于显示.笔者也这样试过一下,可能因为其它问题没有测试胜利,而又突然想到——在法式的多处都需要用到这个实时时钟数据,所以转换为ASCII字符以后对法式其它处所没什么作用.经过考虑,我的转换思想是:先用BTI指令把这个BCD字节转换BCD整数,然后用BCDI指令把BCD整数转换为正常的十进制/十六进制整数,在画面中嵌入这个获得的整数用于显示.在法式的其它处所也可以使用这些实时时钟变量.下面是该工程的TD400C显示画面:。
西门子S7-200SMART的模拟量编程一.模拟量模块接线1.普通模拟量模块接线模拟量类型的模块有三种:普通模拟量模块、RTD模块和TC模块。
普通模拟量模块可以采集标准电流和电压信号。
其中,电流包括:0-20mA、4-20mA两种信号,电压包括:+/-2.5V、+/-5V、+/-10V三种信号。
注意:S7-200 SMART CPU普通模拟量通道值范围是0~27648或-27648~27648。
普通模拟量模块接线端子分布如下图1 模拟量模块接线所示,每个模拟量通道都有两个接线端。
图1模拟量模块接线模拟量电流、电压信号根据模拟量仪表或设备线缆个数分成四线制、三线制、两线制三种类型,不同类型的信号其接线方式不同。
四线制信号指的是模拟量仪表或设备上信号线和电源线加起来有4根线。
仪表或设备有单独的供电电源,除了两个电源线还有两个信号线。
四线制信号的接线方式如下图2模拟量电压/电流四线制接线所示。
图2模拟量电压/电流四线制接线三线制信号是指仪表或设备上信号线和电源线加起来有3根线,负信号线与供电电源M 线为公共线。
三线制信号的接线方式如下图3 模拟量电压/电流三线制接线所示。
图3模拟量电压/电流三线制接线两线制信号指的是仪表或设备上信号线和电源线加起来只有两个接线端子。
由于S7-200 SMART CPU模拟量模块通道没有供电功能,仪表或设备需要外接24V直流电源。
两线制信号的接线方式如下图4 模拟量电压/电流两线制接线所示。
图4模拟量电压/电流两线制接线不使用的模拟量通道要将通道的两个信号端短接,接线方式如下图5 不使用的通道需要短接所示。
图5 不使用的通道需要短接2. RTD模块接线RTD热电阻温度传感器有两线、三线和四线之分,其中四线传感器测温值是最准确的。
S7-200 SMART EM RTD模块支持两线制、三线制和四线制的RTD传感器信号,可以测量PT100、PT1000、Ni100、Ni1000、Cu100等常见的RTD温度传感器,具体型号请查阅《S7-200 SMART系统手册》。
(完整版)S7-200模拟量详细教程模拟量比例换算因为A/D (模/数)、(D/A)数/模转换之间的对应关系,S7-200 CPU内部用数值表示外部的模拟量信号,两者之间有一定的数学关系。
这个关系就是模拟量/ 数值量的换算关系。
例如,使用一个0- 20mA的模拟量信号输入,在S7-200 CPU内部,0- 20mA对应于数值范围0- 32000;对于 4 - 20mA 的信号,对应的内部数值为6400 - 32000 。
如果有两个传感器,量程都是0 - 16MPa,但是一个是0 - 20mA 输出,另一个是4 - 20mA输出。
它们在相同的压力下,变送的模拟量电流大小不同,在S7-200 内部的数值表示也不同。
显然两者之间存在比例换算关系。
模拟量输出的情况也大致相同。
上面谈到的是0 - 20mA与4 - 20mA之间换算关系,但模拟量转换的目的显然不是在S7-200 CPU中得到一个0 - 32000 之类的数值;对于编程和操作人员来说,得到具体的物理量数值(如压力值、流量值),或者对应物理量占量程的百分比数值要更方便,这是换算的最终目标。
如果使用编程软件Micro/WIN32中的PID Wizard(PID向导)生成PID功能子程序,就不必进行0 - 20mA 与 4 - 20mA 信号之间的换算,只需进行简单的设置。
通用比例换算公式模拟量的输入/输出都可以用下列的通用换算公式换算:Ov = [(Osh - Osl)*(Iv - Isl)/(Ish - Isl)] + Osl其中:Ov: 换算结果Iv: 换算对象Osh: 换算结果的高限Osl: 换算结果的低限Ish: 换算对象的高限Isl: 换算对象的低限它们之间的关系可以图示如下:图 1. 模拟量比例换算关系实用指令库在Step7 - Micro/WIN Programming Tips (Micro/WIN 编程技巧中)的Tip38 就是关于如何实现上述转换的例程。
西门子S7-200模拟量编程韩耀旭本文以EM235为例讲解S7-200模拟量编程,主要包括以下内容:1、模拟量扩展模块接线图及模块设置2、模拟量扩展模块的寻址3、模拟量值和A/D转换值的转换4、编程实例模拟量扩展模块接线图及模块设置EM235是最常用的模拟量扩展模块,它实现了4路模拟量输入和1路模拟量输出功能。
下面以EM235为例讲解模拟量扩展模块接线图,如图1。
图1图1演示了模拟量扩展模块的接线方法,对于电压信号,按正、负极直接接入X+和X-;对于电流信号,将RX和X+短接后接入电流输入信号的“+”端;未连接传感器的通道要将X+和X-短接。
对于某一模块,只能将输入端同时设置为一种量程和格式,即相同的输入量程和分辨率。
(后面将详细介绍)EM235的常用技术参数:模拟量输入特性模拟量输入点数4输入范围电压(单极性)0~10V 0~5V 0~1V0~500mV 0~100mV 0~50mV电压(双极性)±10V ±5V ±2.5V±1V ±500mV ±250mV ±100mV±50mV ±25mV电流0~20mA数据字格式双极性全量程范围-32000~+32000单极性全量程范围0~32000分辨率12位A/D转换器模拟量输出特性模拟量输出点数1信号范围电压输出 ±10V电流输出0~20mA数据字格式电压-32000~+32000电流0~32000分辨率电流电压12位电流11位下表说明如何用DIP开关设置EM235扩展模块,开关1到6可选择输入模拟量的单/双极性、增益和衰减。
时,模拟量输入为单极性输入,SW6为OFF时,模拟量输入为双极性输入。
SW4和SW5决定输入模拟量的增益选择,而SW1,SW2,SW3共同决定了模拟量的衰减选择。
6个DIP开关决定了所有的输入设置。
也就是说开关的设置应用于整个模块,开关设置也只有在重新上电后才能生效。
SCALE(V1.0)库文件的使用以下公式由计算换算值的图表中得出: Ov = (Osh - Osl) / (Ish - Isl) * (Iv - Isl) + Osl"Scale" 库的描述: "scale.mwl" 库包括从INTEGER(整数) 到REAL (S_ITR)(实数)、从REAL(实数)to REAL (S_RTR)(实数)及从REAL(实数)到INTEGER (S_RTI)(整数)类型数据的比例换算。
3.2 模拟量输入换算为REAL数据格式的输出值(S_ITR): S_ITR 功能块可用来将模拟量输入信号转换成0.0到1.0之间的标么值( 类型REAL )。
此调用为4-20MA的偏移量,读入模拟量转换为0.0-1.0之间的量程存入到VD1003.3 REAL格式数据比例换算(S_RTR): S_RTR 功能块可用来转换在范围内的REAL 格式的值(例如将0.0 到1.0输入值转化为百分数输出)。
本子程序调用为前面读取来的0.0-1.0量程转换为百分比0-100数值转出到DV2003.4转换为INTEGER格式数据的模拟量输出(S_RTI): S_RTI 功能块可用来将REAL 数转换为INTEGER数据类型的模拟量输出。
本子程序调用:把模拟量量程0.0-1.0数字转换成0-20MA的信号输出,在不同量程下,读取或输出得到不同的结果。
一次函数表达示:Y=KX+b(不过原点),Y=KX(过原点) 定义:介词是一种用来表示词与词, 词与句之间的关系的词。
在句中不能单独作句字成分。
介词后面一般有名词代词或相当于名词的其他词类,短语或从句作它的宾语。
介词和它的宾语构成介词词组,在句中作状语,表语,补语或介词宾语。
※一、表示时间的介词:1)in , on,at 在……时in表示较长时间,如世纪、朝代、时代、年、季节、月及一般(非特指)的早、中、晚等。
前言,目录产品概述1使用入门2S7--200的安装3PLC的基本概念4编程的概念、惯例及特点5S7-200指令集6网络通讯7硬件故障诊断指南和软件调试工具8S7-200开环运动控制9创建调制解调模块程序10使用USS协议库控制MicroMaster驱动器11使用Modbus协议库12使用配方13使用数据归档14PID自整定和PID整定控制面板15目录1 产品概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 新内容. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2S7--200 CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2S7-200扩展模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 STEP 7--Micro/WIN编程数据包. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5显示面板. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 入门指南. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 连接S7--200 CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8创建一个例子程序. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10下载例子程序. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14将S7--200转入RUN模式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 安装S7-200 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 S7--200设备的安装指南. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16S7--200模块的安装和拆卸. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17接地和接线指南. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 PLC原理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 理解S7--200如何执行您的控制逻辑. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24访问S7-200的数据. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27了解S7--200如何保存和恢复数据. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36选择S7--200 CPU的工作模式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40使用S7-200资源管理器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41S7--200的特征. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415 编程原则、约定和特征. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 设计一个微型PLC系统的指导原则. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52程序的基本组件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53用STEP7--Micro/WIN创建用户程序. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55选择SIMATIC和IEC 1131--3指令集. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57理解程序编辑器中使用的惯例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58使用向导帮您创建控制程序. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60S7--200中的出错处理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60在数据块中指定地址和初始值. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62用符号表来定义变量的符号地址. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62使用局部变量. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63用状态图来监视用户程序. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63创建一个指令库. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64应用程序的调试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64S7-200可编程序控制器系统手册x6 S7-200指令集. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 用于描述指令的习惯用语. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67S7--200存储器范围及特性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68位逻辑指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70触点. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70线圈. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73逻辑堆栈指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75RS触发器指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77时钟指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78通讯指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81发送和接收指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86获取口地址和设定口地址指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95比较指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96数值比较. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96字符串比较. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98转换指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99标准转换指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99ASCII码转换指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103字符串转换指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107编码___________和解码指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112计数器指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 SIMATIC计数器指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113IEC计数器指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116高速计数器指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 脉冲输出指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133数字运算指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 加、减、乘、除指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140整数乘法产生双整数和带余数的整数除法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142数学功能指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143增加和减少指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144比例/积分/微分(PID)回路控制指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145中断指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 逻辑操作指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161取反指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161与、或和异或指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162传送指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 字节、字、双字或者实数传送. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164字节立即传送(读和写) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165块传送指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166程序控制指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167条件结束. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167停止. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167看门狗复位. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167For -- Next循环指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169跳转指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171顺控继电器(SCR)指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172诊断LED指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178目录xi移位和循环指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 右移和左移指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179循环右移和循环左移指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179字节交换指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183字符串指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184表指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 填表. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189先进先出和后进先出. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190内存填充. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192查表. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193定时器指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 SIMATIC定时器指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196IEC定时器指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201时间间隔定时器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203子程序指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2047 通过网络进行通讯. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 理解S7--200网络通讯的基本概念. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210为网络选择通讯协议. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 通讯接口的安装和删除. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220网络的建立. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221用自由口模式创建用户定义的协议. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226在网络中使用调制解调器和STEP 7--Micro/WIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228高级议题. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 组态RS-232/PPI多主站电缆实现远程操作. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2398 硬件故障诊断指南和软件调试工具. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 调试应用程序. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244显示程序状态. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246使用状态图来显示和修改S7--200中的数据. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247强制指定值. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248指定程序执行的扫描周期数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248硬件故障诊断指导. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 9 S7-200开环运动控制. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 使用PWM (脉宽调制)输出. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253开环位控用于步进电机或伺服电机的基本信息. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255通过位控向导创建指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 PTO指令的错误代码. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 位控模块的特性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 组态位控模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267通过位控向导为位控模块创建指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273位控模块的示例程序. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 使用EM253控制面板监视位控模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290位控模块和位控指令的错误代码. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292高级议题. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 理解位控模块所支持的参考点寻找模式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303S7-200可编程序控制器系统手册xii10 创建调制解调模块程序. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 EM241调制解调模块特点. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308利用调制解调扩展向导组态EM241调制解调模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314调制解调指令和限定概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 EM241调制解调模块指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 EM241调制解调模块示例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323支持智能模块的CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 EM241调制解调模块的特殊存储区. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323高级议题. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 消息电话号码格式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 文本消息格式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 CPU数据传送消息格式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32911 使用USS协议库控制MicroMaster驱动器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 使用USS协议的要求. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332计算与驱动通讯的时间要求. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332使用USS指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 USS协议指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 USS协议示例程序. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 USS执行错误代码. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342连接并设置3系列MicroMaster驱动. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342连接和设置4系列MicroMaster驱动. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34512 使用Modbus协议库. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 使用Modbus协议的要求. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 Modbus协议的初始化和执行时间. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 Modbus地址. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350使用Modbus主站指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351使用Modbus从站指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 Modbus协议指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353高级议题. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362 13 使用配方. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365 概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 配方的定义和术语. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367 使用配方向导. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367由配方向导创建的指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 14 使用数据归档. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373 概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 使用数据归档向导. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375 由数据归档向导创建的指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 15 PID自整定和PID整定控制面板. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381 理解PID的自整定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382扩展回路表. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382先决条件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385自滞后和自偏移. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385 自整定序列. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386目录xiii异常情况. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387 关于过程变量超限的说明(结果代码3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387 PID整定控制面板. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388A 技术规范. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 通用技术规范. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392 CPU规范. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396 数字量扩展模块规范. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 模拟量扩展模块规范. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412 热电偶和RTD(热电阻)扩展模块规范. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424 EM277 PROFIBUS--DP模块规范. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438 EM241调制解调模块规范. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450 EM253位控模块规范. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452 (CP243--1)以太网模块规范. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458 (CP243--1IT) Internet模块规范. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460 (CP243--2) AS--i接口模块规范. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463可选卡件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 扩展电缆. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466 RS-232/PPI多主站电缆和USB/PPI多主站电缆. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467输入仿真器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471B 计算功率分配. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473C 错误代码. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477 致命错误代码和消息. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478 运行程序错误. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479编译规则错误. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480D 特殊内存(SM)位. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481 SMB0:状态位. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482 SMB1:状态位. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482 SMB2:自由端口接收字符. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483 SMB3:自由端口奇偶校验错误. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483 SMB4:队列溢出. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483 SMB5:I/O状态. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484 SMB6:CPU ID寄存器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484 SMB7:保留. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484 SMB8至SMB21:I/O模块标识和错误寄存器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485 SMW22至SMW26:扫描时间. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486 SMB28和SMB29:模拟调整. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486 SMB30和SMB130:自由端口控制寄存器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486 SMB31和SMW32:永久存储器(EEPROM)写控制. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487 SMB34和SMB35:用于定时中断的时间间隔寄存器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487 SMB36至SMB65:HSC0、HSC1和HSC2寄存器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487。
模拟量比例换算因为A/D(模/数)、(D/A)数/模转换之间的对应关系,S7-200 CPU内部用数值表示外部的模拟量信号,两者之间有一定的数学关系。
这个关系就是模拟量/数值量的换算关系。
例如,使用一个0 - 20mA的模拟量信号输入,在S7-200 CPU内部,0 - 20mA对应于数值范围0 - 32000;对于4 - 20mA的信号,对应的内部数值为6400 - 32000。
如果有两个传感器,量程都是0 - 16MPa,但是一个是0 - 20mA输出,另一个是4 - 20mA输出。
它们在相同的压力下,变送的模拟量电流大小不同,在S7-200内部的数值表示也不同。
显然两者之间存在比例换算关系。
模拟量输出的情况也大致相同。
上面谈到的是0 - 20mA与4 - 20mA之间换算关系,但模拟量转换的目的显然不是在S7-200 CPU中得到一个0 - 32000之类的数值;对于编程和操作人员来说,得到具体的物理量数值(如压力值、流量值),或者对应物理量占量程的百分比数值要更方便,这是换算的最终目标。
如果使用编程软件Micro/WIN32中的PID Wizard(PID向导)生成PID功能子程序,就不必进行0 - 20mA 与4 - 20mA信号之间的换算,只需进行简单的设置。
通用比例换算公式模拟量的输入/输出都可以用下列的通用换算公式换算:Ov = [(Osh - Osl)*(Iv - Isl)/(Ish - Isl)] + Osl其中:Ov: 换算结果Iv: 换算对象Osh: 换算结果的高限Osl: 换算结果的低限Ish: 换算对象的高限Isl: 换算对象的低限它们之间的关系可以图示如下:图1. 模拟量比例换算关系实用指令库在Step7 - Micro/WIN Programming Tips(Micro/WIN编程技巧中)的Tip38就是关于如何实现上述转换的例程。
为便于使用,现已将其导出成为”自定义指令库“,可以添加到自己的Micro/WIN编程软件中应用。
模拟量比例换算之杨若古兰创作(D/A)数/模转换之间的对应关系,S7200 CPU内部用数值暗示内部的模拟量旌旗灯号,两者之间有必定的数学关系.这个关系就是模个0 20mA的模拟量旌旗灯号输入,在S7200 CPU内部,0 20mA对应于数值范围0 32000;对于4 20mA的旌旗灯号,对应的内部数都是0 16MPa,但是一个是0 20mA输出,另一个是4 20mA输出.它们在不异的压力下,变送的模拟量电流大小分歧,在S7200内部之间存在比例换算关系.模拟量输出的情况也大致不异.20mA之间换算关系,但模拟量转换的目的明显不是在S7200 CPU中得到一个0 32000之类的数值;对于编程和操纵人员来说,得值、流量值),或者对应物理量占量程的百分比数值要更方便,这是换算的终极目标.软件Micro/WIN32中的PID Wizard(PID导游)生成PID功能子程序,就不必进行0 20mA与4 20mA旌旗灯号之间的换算,只需通用比例换算公式模拟量的输入/输出都可以用以下的通用换算公式换算:Ov = [(Osh Osl)*(Iv Isl)/(Ish Isl)] + Osl其中:Ov: 换算结果Iv: 换算对象Osh: 换算结果的高限Osl: 换算结果的低限Ish: 换算对象的高限Isl: 换算对象的低限它们之间的关系可以图示如下:图1. 模拟量比例换算关系实用指令库在Step7 Micro/WIN Programming Tips(Micro/WIN编程技巧中)的Tip38就是关于如何实现上述转换的例程.为便于使用,现已将其导出成为”自定义指令库“,可以添加到本人的Micro/WIN编程软件中利用.个指令库中,子程序Scale_I_to_R可用来进行模拟量输入到S7200内部数据的转换;子程序Scale_R_I可用于内部数据到模拟量输出其中scale_I_R程序段例:将4 20mA模拟量输入转换为内部百分比值将内部百分比值转换为4 20mA模拟量输出对于精度请求不高的地方,420ma转换成020ma 可按比例计算公式 =((ai4)/16)*20其程序段实例:发贴者 Memory Of Heart 时间:下战书3:540 评论S7200 +TD400C显示零碎时间、运转时间的程序看见论坛上有些朋友对西门子TD文本显示器显示时钟的成绩比较关心,在这个帖子里笔者给出一个曾经利用于工程上的程序例子,并作出具体分析,但愿对关心这个成绩的朋友有些帮忙.这个程序是S7200+TD400C显示零碎时间、当班运转时间、累计运转时间的例子.以下是s7200 S7200+TD400C显示零碎时间、运转时间的程序详解:零碎硬件配置如下:PLC:西门子S7200 CN;CPU 226 CN REL02.01;AC100~230V电源/DC24V输入/继电器输出;订货号6ES72162BD230XB8;固件02.01 Build2;ASIC:01.00.文本显示器:TD400C;订货号6AV6 66400AA000AX0;自带9芯TD/CPU电缆;版本:1.0.0.3.S7 200与TD400C通过TD400C随机配置的TD/CPU通信电缆连接,实现电源供给和通信(由于当TD400C与S7200CPU之间的距离小于 2.5米时,采取TD/CPU电缆的方式进行供电;当TD400C与S7200 CPU之间的距离超出2.5米时,使用内部电源供电并使用PROFIBUS组件连接收集). 零碎软件配置如下:S7200参数设置:在“零碎块”的“断电数据坚持”中设置VW1600当前2000个单元为断电数据坚持.TD400C参数设置:TD400C地址:1CPU地址:2参数块地址:0波特率:9.6KHSA:31GUF:10键盘声音反馈:开屏幕呵护时间:10分钟S7200的零碎时钟调整为精确的北京时间.上面先写一下该程序所用到的存储器的意义,以便于理解程序.本班运转时间:小时VW1600、分钟VW1604、秒VW1608;累计运转时间:小时VW1620、分钟VW1624、秒VW1628;零碎时间(BCD码字节):年VB2000、月VB、日VB、小时VB、分钟VB、秒VB、礼拜VB;零碎时间(整数):年VW1644、月VW1648、日VW1652、小时VW1656、分钟VW1660、秒VW1664;本班设备开始运转时间:小时VW1680、分钟VW1684、秒VW1688;本班设备最初运转时间:小时VW1700、分钟VW1704、秒VW1708;上班时间设置:小时VW1720、分钟VW1724;放工时间设置:小时VW1740、分钟VW1744;本班运转时间复位:VW1760;本班运转时间被复位的时间:年VW1764、月VW1768、日VW1772、小时VW1776、分钟VW1780;累计运转时间复位:VW1800;累计运转时间被复位的时间:年VW1804、月VW1808、日VW1812、小时VW1816、分钟VW1820;EEPROM写入次数:VW3558;由于考虑到编程中可能会用到一些两头存储器,所以在TD400C中定义存储器时留了余量,每两个存储器之间都有1个字的存储器留作备用. 根据相干技术请求,先组态TD400C画面,达到预期目的.“工具”——“文本显示导游”,先配置TD400C:然后点击“用户菜单”,配置用户菜单.由于该工程的界面请求很简单,所以每个菜单项只配置了1个屏幕(最多可以配置8个屏幕).第1个屏幕:该屏幕中的第1个数据(这里的数据排列顺序为:先按第1排从左至右、再按第2排从左至右的顺序顺次排列,下同):由于版面的成绩,该屏幕的其它PLC数据和其它屏幕中的PLC数据就纷歧一列举了.这些数据都是VW、无符号数类型,具体对应情况请参阅3楼说明. 第2个屏幕:第3个屏幕:第4个屏幕:第5个屏幕:第??个屏幕:??第??个屏幕:??TOD R指令读到的实时时钟是BCD字节,要想把这个BCD字节显示出来,须要进行转换.在网上也曾查阅过,一部分人先用BTI指令把这个BCD字节转换整数,然后用ITA指令把整数转换为ASCII字符串,在画面中嵌入这个ASCII字符串用于显示.笔者也如许试过一下,可能由于其它成绩没有测试成功,而又突然想到——在程序的多处都须要用到这个实时时钟数据,所以转换为ASCII字符当前对程序其它地方没什么感化.经过考虑,我的转换思想是:先用BTI指令把这个BCD字节转换BCD整数,然后用BCDI指令把BCD整数转换为正常的十进制/十六进制整数,在画面中嵌入这个得到的整数用于显示.在程序的其它地方也能够使用这些实时时钟变量.上面是该工程的TD400C显示画面:。
第三章S7-200的编程软件使用STEP7-Micro/WIN32是SIEMENS公司专为SIMATIC系列S7-200研制开发的编程软件,它是基于Windows平台的应用软件。
STEP7-Micro/WIN32可以使用个人计算机作为图形编辑器,用于联机或脱机开发用户程序,并可在线实时监控用户程序的执行状态。
3.1 STEP7-Micro/WIN32安装与启动一、STEP7-Micro/WIN32软件安装1、系统要求操作系统:Windows 95、Windows 98、Windows ME或Windows 2000。
硬件配置:IBM 486以上兼容机,内存8MB以上,VGA显示器,至少50MB以上硬盘空间,鼠标。
通信电缆:PC/PPI电缆(或使用一个通信处理器卡),用于计算机与PLC的连接。
2、硬件连接典型的单台PLC与PC机的连接,只需要用一根PC/PPI电缆,如图3-1所示。
PC/PPI电缆的两端分别为RS-232和RS-485接口,RS-232端连接到个人计算机RS-232通信口COM1或COM2接口上,RS-485端接到S7-200 CPU通信口上。
3.软件安装(1)将存储软件的光盘放入光驱;(2)双击光盘中的安装程序SETUP.EXE,选择English 语言,进入安装向导;(3)按照安装向导完成软件的安装,然后打开此软件,选择菜单Tools—Options—General—Chinese,完成汉化补丁的安装;(4)软件安装完毕。
文本框: PC/PPI电缆文本框: 计算机文本框: RS-485文本框: RS-232文本框: 图3-1 PLC与计算机的连接4、建立通信联系设置连接好硬件并且安装完软件之后,可以按下面的步骤进行在线连接:(1)在STEP 7-Micro/WIN 32运行时,单击浏览条中通信图标,或从菜单检视(View)中选择元件——通信(Communications),则会出现一个通信对话框,如图3-2所示。
Ai/ao的调试过程本文以EM235为例讲解S7-200模拟量编程,主要包括以下内容:1、模拟量扩展模块接线图及模块设置2、模拟量扩展模块的寻址3、模拟量值和A/D转换值的转换4、编程实例模拟量扩展模块接线图及模块设置EM235是最常用的模拟量扩展模块,它实现了4路模拟量输入和1路模拟量输出功能。
下面以EM235为例讲解模拟量扩展模块接线图,如图1。
图1图1演示了模拟量扩展模块的接线方法,对于电压信号,按正、负极直接接入X+和X-;对于电流信号,将RX和X+短接后接入电流输入信号的“+”端;未连接传感器的通道要将X+和X-短接。
对于某一模块,只能将输入端同时设置为一种量程和格式,即相同的输入量程和分辨率。
(后面将详细介绍)量的单/双极性、增益和衰减。
时,模拟量输入为单极性输入,SW6为OFF时,模拟量输入为双极性输入。
SW4和SW5决定输入模拟量的增益选择,而SW1,SW2,SW3共同决定了模拟量的衰减选择。
6个DIP开关决定了所有的输入设置。
也就是说开关的设置应用于整个模块,开关设置也只有在重新上电后才能生效。
输入校准模拟量输入模块使用前应进行输入校准。
其实出厂前已经进行了输入校准,如果OFFSET和GAIN电位器已被重新调整,需要重新进行输入校准。
其步骤如下:A、切断模块电源,选择需要的输入范围。
B、接通CPU和模块电源,使模块稳定15分钟。
C、用一个变送器,一个电压源或一个电流源,将零值信号加到一个输入端。
D、读取适当的输入通道在CPU中的测量值。
E、调节OFFSET(偏置)电位计,直到读数为零,或所需要的数字数据值。
F、将一个满刻度值信号接到输入端子中的一个,读出送到CPU的值。
G、调节GAIN(增益)电位计,直到读数为32000或所需要的数字数据值。
H、必要时,重复偏置和增益校准过程。
EM235输入数据字格式下图给出了12位数据值在CPU的模拟量输入字中的位置图2可见,模拟量到数字量转换器(ADC)的12位读数是左对齐的。
模拟量比率换算由于A/D(模/数)、(D/A)数/模变换之间的对应关系, S7-200CPU内部用数值表示外面的模拟量信号,二者之间有必定的数学关系。
这个关系就是模拟量/数值量的换算关系。
比如,使用一个0-20mA的模拟量信号输入,在S7-200CPU内部,0-20mA对应于数值范围0-32000;对于4-20mA的信号,对应的内部数值为6400-32000。
假如有两个传感器,量程都是0-16MPa,可是一个是0-20mA输出,另一个是4-20mA输出。
它们在同样的压力下,变送的模拟量电流大小不一样,在S7-200内部的数值表示也不一样。
明显二者之间存在比率换算关系。
模拟量输出的状况也大概同样。
上边谈到的是0-20mA与4-20mA之间换算关系,但模拟量变换的目的明显不是在S7-200CPU中获得一个0-32000之类的数值;对于编程和操作人员来说,获得详细的物理量数值(如压力值、流量值),或许对应物理量占量程的百分比数值要更方便,这是换算的最后目标。
假如使用编程软件Micro/WIN32中的PIDWizard(PID导游)生成PID功能子程序,就不用进行0-20mA与4-20mA信号之间的换算,只要进行简单的设置。
通用比率换算公式模拟量的输入/输出都能够用以下的通用换算公式换算:Ov=[(Osh-Osl)*(Iv-Isl)/(Ish-Isl)]+Osl此中:Ov:换算结果Iv: 换算对象Osh:换算结果的高限Osl:换算结果的低限Ish: 换算对象的高限Isl: 换算对象的低限它们之间的关系能够图示以下:图1. 模拟量比率换算关系适用指令库在Step7-Micro/WINProgrammingTips(Micro/WIN编程技巧中)的Tip38就是对于怎样实现上述变换的例程。
为便于使用,现已将其导出成为”自定义指令库“,能够增添到自己的Micro/WIN编程软件中应用。
在这个指令库中,子程序Scale_I_to_R可用来进行模拟量输入到S7-200内部数据的变换;子程序Scale_R_I可用于内部数据到模拟量输出的变换。
西门子S7-200模拟量编程
韩耀旭
本文以EM235为例讲解S7-200模拟量编程,主要包括以下内容:
1、模拟量扩展模块接线图及模块设置
2、模拟量扩展模块的寻址
3、模拟量值和A/D转换值的转换
4、编程实例
模拟量扩展模块接线图及模块设置
EM235是最常用的模拟量扩展模块,它实现了4路模拟量输入和1路模拟量输出功能。
下面以EM235为例讲解模拟量扩展模块接线图,如图1。
图1
图1演示了模拟量扩展模块的接线方法,对于电压信号,按正、负极直接接入X+和X-;对于电流信号,将RX和X+短接后接入电流输入信号的“+”端;
未连接传感器的通道要将X+和X-短接。
对于某一模块,只能将输入端同时设置为一种量程和格式,即相同的输入量程和分辨率。
(后面将详细介绍)
量的单/双极性、增益和衰减。
时,模拟量输入为单极性输入,SW6为OFF时,模拟量输入为双极性输入。
SW4和SW5决定输入模拟量的增益选择,而SW1,SW2,SW3共同决定了模拟量的衰减选择。
6个DIP开关决定了所有的输入设置。
也就是说开关的设置应用于整个模块,开关设置也只有在重新上电后才能生效。
输入校准
模拟量输入模块使用前应进行输入校准。
其实出厂前已经进行了输入校准,如果OFFSET和GAIN电位器已被重新调整,需要重新进行输入校准。
其步骤如下:
A、切断模块电源,选择需要的输入范围。
B、接通CPU和模块电源,使模块稳定15分钟。
C、用一个变送器,一个电压源或一个电流源,将零值信号加到一个输入端。
D、读取适当的输入通道在CPU中的测量值。
E、调节OFFSET(偏置)电位计,直到读数为零,或所需要的数字数据值。
F、将一个满刻度值信号接到输入端子中的一个,读出送到CPU的值。
G、调节GAIN(增益)电位计,直到读数为32000或所需要的数字数据值。
H、必要时,重复偏置和增益校准过程。
EM235输入数据字格式
下图给出了12位数据值在CPU的模拟量输入字中的位置
图2
可见,模拟量到数字量转换器(ADC)的12位读数是左对齐的。
最高有效位是符号位,0表示正值。
在单极性格式中,3个连续的0使得模拟量到数字量转换器(ADC)每变化1个单位,数据字则以8个单位变化。
在双极性格式中,4个连续的0使得模拟量到数字量转换器每变化1个单位,数据字则以16为单位变化。
EM235输出数据字格式
图3给出了12位数据值在CPU的模拟量输出字中的位置:
图3
数字量到模拟量转换器(DAC)的12位读数在其输出格式中是左端对齐的,最高有效位是符号位,0表示正值。
模拟量扩展模块的寻址
每个模拟量扩展模块,按扩展模块的先后顺序进行排序,其中,模拟量根据输入、输出不同分别排序。
模拟量的数据格式为一个字长,所以地址必须从偶数字节开始。
例如:AIW0,AIW2,AIW4……、AQW0,AQW2……。
每个模拟量扩展模块至少占两个通道,即使第一个模块只有一个输出AQW0,第二个模块模拟量输出地址也应从AQW4开始寻址,以此类推。
图4演示了CPU224后面依次排列一个4输入/4输出数字量模块,一个8输入数字量模块,一个4模拟输入/1模拟输出模块,一个8输出数字量模块,一个4模拟输入/1模拟输出模块的寻址情况,其中,灰色通道不能使用。
图4
模拟量值和A/D转换值的转换
假设模拟量的标准电信号是A0—Am(如:4—20mA),A/D转换后数值为D0—Dm(如:6400—32000),设模拟量的标准电信号是A,A/D转换后的相应数值为D,由于是线性关系,函数关系A=f(D)可以表示为数学方程:A=(D-D0)×(Am-A0)/(Dm-D0)+A0。
根据该方程式,可以方便地根据D值计算出A值。
将该方程式逆变换,得出函数关系D=f(A)可以表示为数学方程:
D=(A-A0)×(Dm-D0)/(Am-A0)+D0。
具体举一个实例,以S7-200和4—20mA为例,经A/D转换后,我们得到的数值是6400—32000,即A0=4,Am=20,D0=6400,Dm=32000,代入公式,得出:
A=(D-6400)×(20-4)/(32000-6400)+4
假设该模拟量与AIW0对应,则当AIW0的值为12800时,相应的模拟电信号是6400×16/25600+4=8mA。
又如,某温度传感器,-10—60℃与4—20mA相对应,以T表示温度值,AIW0为PLC模拟量采样值,则根据上式直接代入得出:
T=70×(AIW0-6400)/25600-10
可以用T 直接显示温度值。
模拟量值和A/D转换值的转换理解起来比较困难,该段多读几遍,结合所举例子,就会理解。
为了让您方便地理解,我们再举一个例子:
某压力变送器,当压力达到满量程5MPa时,压力变送器的输出电流是20mA,AIW0的数值是32000。
可见,每毫安对应的A/D值为32000/20,测得当压力为0.1MPa时,压力变送器的电流应为4mA,A/D值为(32000/20)×4=6400。
由此得出,AIW0的数值转换为实际压力值(单位为KPa)的计算公式为:
VW0的值=(AIW0的值-6400)(5000-100)/(32000-6400)+100(单位:KPa)
编程实例
您可以组建一个小的实例系统演示模拟量编程。
本实例的的CPU是CPU222,仅带一个模拟量扩展模块EM235,该模块的第一个通道连接一块带4—20mA变送输出的温度显示仪表,该仪表的量程设置为0—100度,即0度时输出4mA,100度时输出20mA。
温度显示仪表的铂电阻输入端接入一个220欧姆可调电位器,
简单编程如下:
温度显示值=(AIW0-6400)/256
编译并运行程序,观察程序状态,VW30即为显示的温度值,对照仪表显示值是否一致。
就写这些吧,希望能对您有所帮助。