应用领域 | 电子/电池 | 产地 | 德国 |
---|---|---|---|
品牌 | 西门子 |
《销售态度》:质量保证、诚信服务、及时到位!
《销售宗旨》:为客户创造价值是我们永远追求的目标!
《服务说明》:现货配送至全国各地含税(17%)含运费!
《产品质量》:原装正品,*!
《产品优势》:专业销售 薄利多销 信誉好,口碑好,价格低,货期短,大量现货,服务周到!
![]() |
参考价 | 面议 |
更新时间:2022-02-24 11:41:25浏览次数:343
联系我们时请说明是化工仪器网上看到的信息,谢谢!
西门子模块6GK7342-5DA02-0XE0
在编写梯形图比较程序时有个小问题需要注意,OB40_MDL_ADDR和OB40_POINT_ADDR的数字类型分别是字和双字,不能直接用于整数比较指令和双整数比较指令。需要将它们保存到其他地址,然后参与比较。
S7 200:用于小型的电气控制系统中,着重于逻辑控制;
S7 300:用于稍大系统,可实现复杂的工艺控制,如PID、脉宽调制等;
S7 400:用于大型控制系统,主要是实现冗余控制。
200属于小型机,300属于中型机,小型机也是多功能机,将所有功能结合在一起,它的控制规模为zui大512点,CPU的运算处理速度不及中大型机快,小型机多为整体式的,扩展模块zui多可加8块,适用于小型设备,性价比高;中大型机结构是模块化的,zui多可加300多块扩展模块,中大型机硬件较贵,成本高,但其运算处理速度快,有很强的通信功能,主要应用于中大型生产线,如化工行业,造纸行业,钢铁行业,汽车生产线,大型*空调,污水处理等,中国的中大型机以西门子的300和400为主,西门子的产品性能稳定,网络通信功能强大,程序简单,性价比高。
一、硬件区别:
(1)zui主要地区别就是S7-300/400更模块化了,S7-200系列是整体式的,CPU模块、I/O模块和电源模块都在一个模块内,称为CPU模块;而S7-300/400系列的,从电源,I/O,CPU都是单独模块的。但是这么说容易让人误解200系列不能扩展,实际上200系列也可以扩展,只不过买来的CPU模块集成了部分功能,一些小型系统不需要另外定制模块,200系列的模块也有信号、通信、位控等模块。
(2)200系列的对机架没有什么概念,称之为导轨;为了便于分散控制,300/400系列的模块装在一根导轨上的,称之为一个机架,与*机架对应的是扩展机架,机架还在软件里反映出来。
(3)200系列的同一机架上的模块之间是通过模块正上方的数据接头的;而300/400则是通过在底部的U型总线连接器连接的。
(4)300/400系列的I/O输入是接在前连接器上的,前连接器再接在信号模块上,而不是I/O信号直接接在信号模块上,这样可以更换信号模块而不用重新接线。
(5)300/400系列的CPU带有profibus(profibus是一种化.开放式.不依赖于设备生产商的现场总线标准)接口。
二、软件区别:
(1)200系列用的STEP7-Micro/WIN32软件;300/400使用的是STEP7软件,带了Micro和不带的区别是相当的明显的。
(2)200系列的编程语言有三种--语句表(STL)、梯形图(LAD)、功能块图(FBD);300/400系列的除了这三种外,还有结构化控制语言(SCL)和图形语言(S7 graph)。
(3)300/400软件zui大的特点就是提供了一些数据块来对应每一个功能块( Block-FB),称之为Instance。
(4)300/400再也不能随意的自定义Organization Block、sub-routine和Interrupt routine了,现在OB1惟我独尊了,没事系统只能调用它了,其它的什么东东则变成了FB- Block和FC-,其它的也是预定义成了系统的了,System的S给它们(SFB、SFC)定义了自己的身份。
(5)300/400中提供了累加器(ACCU)和状态字寄存器、诊断缓冲区。
西门子模块6GK7342-5DA02-0XE0
编写、编译并下载程序 编写好的程序如下图:
西门子电缆6ES7 902-3AG00-0AA0
编写、编译并下载程序
编写、编译并下载程序 可在PLC变量表里面为变量命名
西门子RS485电缆6ES7 902-3AB00-0AA0
变量命名
编写、编译并下载程序 编译并下载程序
参数 | 接口 | 数据类型 | 描述 |
---|---|---|---|
in | Input | DInt | 需要做积分计算的值 |
enable | Input | Bool | 使能积分计算 |
reset | Input | Bool | 复位( 为 True 时复位输出参数) |
out | Output | LReal | 积分后的值(可保持) |
error | Output | Bool | 错误输出 |
描述
采用间接寻址时,只有程序执行时,用于读或写数值的地址才得以确定。使用这种方法可以减少编程量并使得程序更灵活。通常来讲,程序创建后访问地址也就确定了。为了使得间接寻址更灵活和更安全,可以
在下面的例子中,对于三个变量的访问采用了不同的存储区。表01 显示了三个变量的访问列表,每个都有单独的索引。
索引 | 访问变量 | 存储区 |
1 | Input_Word_0 | EW 0 |
2 | "Processdata".Temperature | DB 1 |
3 | Output_Word_4 | AW 4 |
表01
创建一个功能,并声明输入变量为"Int"类型。图.01 显示了对于"AccessGroupInt"功能块的编程示例,通过index进行间接寻址并返回值。可以在程序中直接使用间接访问,例如使用指令#TempValue:= "AccessGroupInt"(#Index);。这一编程方法
在下面的示例中数据被从三个不同的优化的数据块中读出或写入。三个数据块"Silo_Water", "Silo_Sugar" 和"Silo_Milk"都包含相同的变量声明:
创建的PLC数据类型"SiloUDT"用于寻址包含不同数据类型的DB变量。 "AccessGroupSiloRead"功能块用于读出返回值,是由PLC 数据类型 "SiloUDT"定义的。基于此可以在一个FB中间接访问,例如如图.03所示的指令:
创建环境
此FAQ中的截屏由 STEP 7 (TIA Portal) V13创建。
下表列出了 FB "Integration" 的输入和输出参数。
参数 | 接口 | 数据类型 | 描述 |
---|---|---|---|
in | Input | DInt | 需要做积分计算的值 |
enable | Input | Bool | 使能积分计算 |
reset | Input | Bool | 复位( 为 True 时复位输出参数) |
out | Output | LReal | 积分后的值(可保持) |
error | Output | Bool | 错误输出 |
描述
采用间接寻址时,只有程序执行时,用于读或写数值的地址才得以确定。使用这种方法可以减少编程量并使得程序更灵活。通常来讲,程序创建后访问地址也就确定了。为了使得间接寻址更灵活和更安全,可以
在下面的例子中,对于三个变量的访问采用了不同的存储区。表01 显示了三个变量的访问列表,每个都有单独的索引。
索引 | 访问变量 | 存储区 |
1 | Input_Word_0 | EW 0 |
2 | "Processdata".Temperature | DB 1 |
3 | Output_Word_4 | AW 4 |
表01
创建一个功能,并声明输入变量为"Int"类型。图.01 显示了对于"AccessGroupInt"功能块的编程示例,通过index进行间接寻址并返回值。可以在程序中直接使用间接访问,例如使用指令#TempValue:= "AccessGroupInt"(#Index);。这一编程方法
1.1、 远程:只能通过上位机对系统进行自动启/停控制,单台设备就地控制优先,在程控时,可以通过上位机对设备进行软手操/自动切换,软手操启/停;
1.2、 本地:只能通过触摸屏对系统进行自动启/停控制,单台设备就地控制优先,在程控时,可以通过触摸屏对设备进行软手操/自动切换,软手操启/停;
1.3、 手动:手动控制时,上位机/触摸屏失效,只能通过手动控制设备的启/停。
单台设备必须有软手操/自动切换以及软手操时可以启/停功能,由自动切换到软手操时,设备不能停机;由软手操切换到自动时,设备启/停取决于自动程序。
3、 单台设备(泵、风机及其它大型设备)运行满24小时必须进行轮换,且必须有运行时间累计,如果由上位机设定启/停顺序除外,操作人员自行设定;
1、 程序块尽量细化,方便阅读,将同一类型的设备控制放在一个程序块中;
2、 如遇特殊情况下采用语言编程,多数情况下请使用梯形图编程,方便别人阅读;
3、 对于经常调用的子程序,可以做成子模块,频繁调用,例如:求几个数平均值或求几个数的大值;
4、 程序要有注释,变量及中间变量必须有描述,方便别人阅读或以后查阅;
5、 定期做程序备份,工程名称+系统名称+当天日期;
6、 程序加密,防止别人窃取。
我想说plc入门容易,深造难啊。对于一些初学者,看看书看看视频没有专门的去实践学习,大部分了解了plc的原理,设计一些简单的程序可以运用自如,但是碰到一些复杂的要求时,就懵逼了,因为我以前也时常懵逼。plc这个东西就得把指令融汇贯通,运用自如,才能编出一些较复杂的程序。下面简单介绍一下学plc的技巧和方法,让大家更快地去熟悉plc、掌握plc,让我们口袋里的钱变得鼓鼓的。
首先、你得对编程感兴趣,设计出程序来感觉有成就感。有的人一看到界面,一看到要求,哎呦妈呀晕晕晕,哥快来扶我一把。这样的同学我劝你这辈子就告别工控这条路吧。
第二、学习plc编程要有一定的电器基础,要明白各个电器的用途,因为PLC说白了也就是把很多的电器实物程序化(比如说各种继电器及计数器等),但是也有的人跨专业来学,感觉工控好啊,工控好神奇啊,带着强烈的兴趣来探索工控这个奥秘。这样的同学可能后比有基础的同学学的还要好。
第三、选择一个品牌。
老大当然是西门子,尤其在冶金方面接近于99%。ABB在石油方面用到的很广。罗克韦尔也不错,就是价格稍微高一点。还有就是施耐德了。然后呢就是日本的一些牌子了,三菱、欧姆龙等。其次就是中国的一些品牌了比如说和利时,台达、信捷等一些品牌了。
第四、没时间的可以买本书买些视频或者看看,电脑下载一个对应的编程软件,试着编绘简易梯形图:一般以现有的电工原理图,根据其工作原理进行绘制,由浅 入深,先求画出,再求简单明了,慢慢领会绘制梯形图心得。首先要理解电工原理图的工作原理,根据电 工原理图的工作原理,再按 PLC 的要求进行绘制。应把握的是,不能简单地将 PLC 各接点与电工原理图上 的各接点一一对应(这是初学者的通病),若是这样的话就有可能步入死胡同,绘制的梯形图只要能达到 目的即可。有条件的就整个硬件或者模拟器。
再有条件又有时间就去报培训班学吧,那样学得会比自己学的全面容易,也有硬件供你练习实践
在下面的示例中数据被从三个不同的优化的数据块中读出或写入。三个数据块"Silo_Water", "Silo_Sugar" 和"Silo_Milk"都包含相同的变量声明:
编译并下载程序
为了近似测定面积,使用以SCL语言编写的FB "Integration"程序块可以持续对区域面积进行累加。
说明
积分是对给定函数曲线的面积进行数学计算。但是实际曲线往往没有明确的数学关系,而是随时间变化的模拟量。积分计算就是把所有由两个过程值与时间所围成的梯形区域面积相加,梯形面积等于两个过程值的平均值乘以时间间隔。
西门子电缆6ES7 902-3AG00-0AA0
下载附件是以SCL语言编写的用于计算积分的 "Integration" 功能块
表示了FB "Integration"的调用参数。FB "Integration"中 "in"参数为转化为浮点数的模拟量输入值。
要使用 "in"参数的输入值启动积分计算,必须
下表列出了 FB "Integration" 的输入和输出参数。
创建的PLC数据类型"SiloUDT"用于寻址包含不同数据类型的DB变量。 "AccessGroupSiloRead"功能块用于读出返回值,是由PLC 数据类型 "SiloUDT"定义的。基于此可以在一个FB中间接访问,例如如图.03所示的指令:
创建环境
此FAQ中的截屏由 STEP 7 V13创建。
为了plc程序可读性强,短期内可以读懂并且能够修改,在PLC工作组内部需要统一我们的编程标准,以便适应将来工程人员调动后,原来的程序能够被后来的人在短期内读懂,现统一标准如下:
OB1:主程序;
OB100:初始化程序(无需主程序调用);
OB35:100ms(可修改)中断(无需主程序调用),可以调用PID模块;
OB80、OB82、OB85、OB86、OB87、OB121、OB122:故障诊断模块(无需主程序调用、无需编程);
FC1:系统模式;
FC2:输入处理;
FC3:输出处理;
FC4:运行处理;
FC5:停止处理;
FC6:手自动切换;
FC7:
。。。
。。。
FC100:之后用来建立一些可以循环调用的子程序;
FC105:系统自带,模拟量输入子程序(可以循环调用);
FC106:系统自带,模拟量输出子程序(可以循环调用);
modbus通讯(CP341):FB7:P_RCV_RK,FB8:P_SND_RK;
通讯CP340:FB2:P_RCV,FB3:P_SND;
一般PID:用FB41;
温、湿度PID:用FB58;
如果程序块与系统块重复,请避让。
DB1:AI数据,类型:REAL,与上位机接口;
DB2:AO数据,类型:REAL,与上位机接口;
DB3:DI数据,类型:BOOL,与上位机接口;
DB4:DO数据,类型:BOOL,与上位机接口;
DB5:设备运行时间及流量累计,类型:REAL,与上位机接口;
DB6:报警消息,类型:BOOL,与上位机接口;
DB7:类型:REAL,中间寄存器;
DB8:类型:INT,中间寄存器;
DB9:类型:WORD,中间寄存器;
DB10:类型:BOOL,中间寄存器;
DB11:之后用作与设备通讯用,例如:MODBUS通讯等;
DB100:之后用作调用FB块时的背景数据块;
M区:也作为中间变量。
参数 | 接口 | 数据类型 | 描述 |
---|---|---|---|
in | Input | DInt | 需要做积分计算的值 |
enable | Input | Bool | 使能积分计算 |
reset | Input | Bool | 复位( 为 True 时复位输出参数) |
out | Output | LReal | 积分后的值(可保持) |
error | Output | Bool | 错误输出 |
描述
采用间接寻址时,只有程序执行时,用于读或写数值的地址才得以确定。使用这种方法可以减少编程量并使得程序更灵活。通常来讲,程序创建后访问地址也就确定了。为了使得间接寻址更灵活和更安全,可以
在下面的例子中,对于三个变量的访问采用了不同的存储区。表01 显示了三个变量的访问列表,每个都有单独的索引。
索引 | 访问变量 | 存储区 |
1 | Input_Word_0 | EW 0 |
2 | "Processdata".Temperature | DB 1 |
3 | Output_Word_4 | AW 4 |
表01
创建一个功能,并声明输入变量为"Int"类型。图.01 显示了对于"AccessGroupInt"功能块的编程示例,通过index进行间接寻址并返回值。可以在程序中直接使用间接访问,例如使用指令#TempValue:= "AccessGroupInt"(#Index);。这一编程方法
在下面的示例中数据被从三个不同的优化的数据块中读出或写入。三个数据块"Silo_Water", "Silo_Sugar" 和"Silo_Milk"都包含相同的变量声明:
创建的PLC数据类型"SiloUDT"用于寻址包含不同数据类型的DB变量。 "AccessGroupSiloRead"功能块用于读出返回值,是由PLC 数据类型 "SiloUDT"定义的。基于此可以在一个FB中间接访问,例如如图.03所示的指令:
创建环境
此FAQ中的截屏由 STEP 7 (TIA Portal) V13创建。
下表列出了 FB "Integration" 的输入和输出参数。
参数 | 接口 | 数据类型 | 描述 |
---|---|---|---|
in | Input | DInt | 需要做积分计算的值 |
enable | Input | Bool | 使能积分计算 |
reset | Input | Bool | 复位( 为 True 时复位输出参数) |
out | Output | LReal | 积分后的值(可保持) |
error | Output | Bool | 错误输出 |
描述
采用间接寻址时,只有程序执行时,用于读或写数值的地址才得以确定。使用这种方法可以减少编程量并使得程序更灵活。通常来讲,程序创建后访问地址也就确定了。为了使得间接寻址更灵活和更安全,可以
在下面的例子中,对于三个变量的访问采用了不同的存储区。表01 显示了三个变量的访问列表,每个都有单独的索引。
索引 | 访问变量 | 存储区 |
1 | Input_Word_0 | EW 0 |
2 | "Processdata".Temperature | DB 1 |
3 | Output_Word_4 | AW 4 |
表01
创建一个功能,并声明输入变量为"Int"类型。图.01 显示了对于"AccessGroupInt"功能块的编程示例,通过index进行间接寻址并返回值。可以在程序中直接使用间接访问,例如使用指令#TempValue:= "AccessGroupInt"(#Index);。这一编程方法
1.1、 远程:只能通过上位机对系统进行自动启/停控制,单台设备就地控制优先,在程控时,可以通过上位机对设备进行软手操/自动切换,软手操启/停;
1.2、 本地:只能通过触摸屏对系统进行自动启/停控制,单台设备就地控制优先,在程控时,可以通过触摸屏对设备进行软手操/自动切换,软手操启/停;
1.3、 手动:手动控制时,上位机/触摸屏失效,只能通过手动控制设备的启/停。
单台设备必须有软手操/自动切换以及软手操时可以启/停功能,由自动切换到软手操时,设备不能停机;由软手操切换到自动时,设备启/停取决于自动程序。
3、 单台设备(泵、风机及其它大型设备)运行满24小时必须进行轮换,且必须有运行时间累计,如果由上位机设定启/停顺序除外,操作人员自行设定;
1、 程序块尽量细化,方便阅读,将同一类型的设备控制放在一个程序块中;
2、 如遇特殊情况下采用语言编程,多数情况下请使用梯形图编程,方便别人阅读;
3、 对于经常调用的子程序,可以做成子模块,频繁调用,例如:求几个数平均值或求几个数的大值;
4、 程序要有注释,变量及中间变量必须有描述,方便别人阅读或以后查阅;
5、 定期做程序备份,工程名称+系统名称+当天日期;
6、 程序加密,防止别人窃取。
我想说plc入门容易,深造难啊。对于一些初学者,看看书看看视频没有专门的去实践学习,大部分了解了plc的原理,设计一些简单的程序可以运用自如,但是碰到一些复杂的要求时,就懵逼了,因为我以前也时常懵逼。plc这个东西就得把指令融汇贯通,运用自如,才能编出一些较复杂的程序。下面简单介绍一下学plc的技巧和方法,让大家更快地去熟悉plc、掌握plc,让我们口袋里的钱变得鼓鼓的。
首先、你得对编程感兴趣,设计出程序来感觉有成就感。有的人一看到界面,一看到要求,哎呦妈呀晕晕晕,哥快来扶我一把。这样的同学我劝你这辈子就告别工控这条路吧。
第二、学习plc编程要有一定的电器基础,要明白各个电器的用途,因为PLC说白了也就是把很多的电器实物程序化(比如说各种继电器及计数器等),但是也有的人跨专业来学,感觉工控好啊,工控好神奇啊,带着强烈的兴趣来探索工控这个奥秘。这样的同学可能后比有基础的同学学的还要好。
第三、选择一个品牌。
老大当然是西门子,尤其在冶金方面接近于99%。ABB在石油方面用到的很广。罗克韦尔也不错,就是价格稍微高一点。还有就是施耐德了。然后呢就是日本的一些牌子了,三菱、欧姆龙等。其次就是中国的一些品牌了比如说和利时,台达、信捷等一些品牌了。
第四、没时间的可以买本书买些视频或者看看,电脑下载一个对应的编程软件,试着编绘简易梯形图:一般以现有的电工原理图,根据其工作原理进行绘制,由浅 入深,先求画出,再求简单明了,慢慢领会绘制梯形图心得。首先要理解电工原理图的工作原理,根据电 工原理图的工作原理,再按 PLC 的要求进行绘制。应把握的是,不能简单地将 PLC 各接点与电工原理图上 的各接点一一对应(这是初学者的通病),若是这样的话就有可能步入死胡同,绘制的梯形图只要能达到 目的即可。有条件的就整个硬件或者模拟器。
再有条件又有时间就去报培训班学吧,那样学得会比自己学的全面容易,也有硬件供你练习实践
在下面的示例中数据被从三个不同的优化的数据块中读出或写入。三个数据块"Silo_Water", "Silo_Sugar" 和"Silo_Milk"都包含相同的变量声明:
可以通过以下几种方法判断编码器的好坏:
1)编码器为NPN晶体管输出时,用万用表测量电源正极和信号输出线之间的电压
2)编码器为PNP晶体管输出时,用万用表测量测量电源负极和信号输出线之间的电压
在实际应用中,导致计数或测量不准确的原因很多,其中主要应注意以下几点:
针对以上问题的避免措施:
在实际的应用中,可能会遇到不需要或者模块不支持的信号线,例如:
对于增量信号,可以组态多重评估模式,包括双重评估和四重评估。四重评估是指同时对信号 A和B 的正跳沿和负跳沿进行判断,进而得到计数值,如图4-1所示。对于四重评估的模式,因为对一个脉冲进行了四倍的处理(四次评估),所以读到的计数值是实际输入脉冲数的四倍,通过对信号的多重评估可以提高测量的分辨率。
图4-1 四重评估原理图
通过以上对增量信号多重评估原理的分析可以看出,多重评估只是在原计数脉冲的基础上对计数值作了倍频处理,而实际上对实际输入脉冲频率没有影响,所以也不会提高模块的大计数频率。例如,FM350-2的大计数频率为10kHz,那么即使配置为四重评估的模式,其大的计数频率还是10kHz
编码器是传感器的一种,主要用来检测机械运动的速度、位置、角度、距离和计数等,许多马达控制均需配备编码器以供马达控制器作为换相、速度及位置的检出等,应用范围相当广泛。按照不同的分类方法,编码器可以分为以下几种类型:
如图 2-7所示,线驱动输出接口采用了的 IC 芯片,输出信号符合RS-422 标准,以差分的形式输出,因此线驱动输出信号抗干扰能力更强,可以应用于高速、长距离数据传输的场合,同时还具有响应速度快和抗噪声性能强的特点。
说明:除了上面所列的几种编码器输出的接口类型外,现在好多厂家生产的编码器还具有智能通信接口,比如PROFIBUS总线接口。这种类型的编码器可以直接接入相应的总线网络,通过通信的方式读出实际的计数值或测量值,这里不做说明。
高速计数模块主要用于评估接入模块的各种脉冲信号,用于对编码器输出的脉冲信号进行计数和测量等。西门子SIMATIC S7的全系列产品都有支持高速计数功能的模块,可以适应于各种不同场合的应用。
根据产品功能的不同,每种产品高速计数功能所支持的输入信号类型也各不相同,在系统设计或产品选型时要特别注意。下表3-1给出了西门子高速计数产品与编码器的兼容性信息,供选型时参考。
表3-1 高速计数产品与编码器的兼容性
SIMATIC S7 系列产品 | 增量型编码器 | 值
编码器 | ||||
24V PNP | 24V NPN | 24V推挽式 | 5V 差分 | SSI | ||
S7-200 /
S7-200 Smart | CPU 集成的HSC | √ | √ | √ | - | - |
S7-1200 | CPU 集成的HSC | √ | √ | √ | - | - |
S7-300 | CPU31xC 集成的 HSC | √ | - | √ | - | - |
FM350-1 | √ | √ | √ | √ | - | |
FM350-2 | √ | - | √ | - | - | |
SM338 | - | - | - | - | √ | |
S7-400 | FM450-1 | √ | √ | √ | √ | - |
ET200S | 1Count 24V | √ | √ | √ | - | - |
1Count 5V | - | - | - | √ | - | |
1SSI | - | - | - | - | √ | |
S7-1500 | TM Count 2x24V | √ | √ | - | - | |
TM PosInput2 | - | - | - | √ | √ | |
ET200SP | TM Count 1x24V | √ | √ | √ | - | - |
TM PosInput1 | - | - | - | √ | √ |
√兼容; - 不兼容
在编码器选型时,可以综合考虑以下几个参数:
可以通过以下几种方法判断编码器的好坏:
1)编码器为NPN晶体管输出时,用万用表测量电源正极和信号输出线之间的电压
2)编码器为PNP晶体管输出时,用万用表测量测量电源负极和信号输出线之间的电压
在实际应用中,导致计数或测量不准确的原因很多,其中主要应注意以下几点:
针对以上问题的避免措施:
在实际的应用中,可能会遇到不需要或者模块不支持的信号线,例如:
对于增量信号,可以组态多重评估模式,包括双重评估和四重评估。四重评估是指同时对信号 A和B 的正跳沿和负跳沿进行判断,进而得到计数值,如图4-1所示。对于四重评估的模式,因为对一个脉冲进行了四倍的处理(四次评估),所以读到的计数值是实际输入脉冲数的四倍,通过对信号的多重评估可以提高测量的分辨率。
图4-1 四重评估原理图
通过以上对增量信号多重评估原理的分析可以看出,多重评估只是在原计数脉冲的基础上对计数值作了倍频处理,而实际上对实际输入脉冲频率没有影响,所以也不会提高模块的大计数频率。例如,FM350-2的大计数频率为10kHz,那么即使配置为四重评估的模式,其大的计数频率还是10kHz
光电编码器是集光、机、电技术于一体的数字化传感器,主要利用光栅衍射的原理来实现位移——数字变换,通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。典型的光电编码器由码盘、检测光栅、光电转换电路(包括光源、光敏器件、信号转换电路)、机械部件等组成。光电编码器具有结构简单、精度高、寿命长等优点,广泛应用于精密定位、速度、长度、加速度、振动等方面。
这里我们主要介绍SIMATIC S7系列高速计数产品普遍支持的增量式编码器和式编码器。
增量式编码器提供了一种对连续位移量离散化、增量化以及位移变化(速度)的传感方法。增量式编码器的特点是每产生一个输出脉冲信号就对应于一个增量位移,它能够产生与位移增量等值的脉冲信号。增量式编码器测量的是相对于某个基准点的相对位置增量,而不能够直接检测出位置信息。
如图1-1 所示,增量式编码器主要由光源、码盘、检测光栅、光电检测器件和转换电路组成。在码盘上刻有节距相等的辐射状透光缝隙,相邻两个透光缝隙之间代表一个增量周期。检测光栅上刻有A、B 两组与码盘相对应的透光缝隙,用以通过或阻挡光源和光电检测器件之间的光线,它们的节距和码盘上的节距相等,并且两组透光缝隙错开1/4 节距,使得光电检测器件输出的信号在相位上相差 90°。当码盘随着被测转轴转动时,检测光栅不动,光线透过码盘和检测光栅上的透过缝隙照射到光电检测器件上,光电检测器件就输出两组相位相差 90°的近似于正弦波的电信号,电信号经过转换电路的信号处理,就可以得到被测轴的转角或速度信息。
图1-1 增量式编码器原理图
一般来说,增量式光电编码器输出 A、B 两相相位差为 90°的脉冲信号(即所谓的两相正交输出信号),根据 A、B 两相的先后位置关系,可以方便地判断出编码器的旋转方向。另外,码盘一般还提供用作参考零位的 N 相标志(指示)脉冲信号,码盘每旋转一周,会发出一个零位标志信号。
图1-2 增量式编码器输出信号
式编码器的原理及组成部件与增量式编码器基本相同,与增量式编码器不同的是,式编码器用不同的数码来指示每个不同的增量位置,它是一种直接输出数字量的传感器。
图1-3式编码器原理图
如图1-3所示,式编码器的圆形码盘上沿径向有若干同心码道,每条码道上由透光和不透光的扇形区相间组成,相邻码道的扇区数目是双倍关系,码盘上的码道数就是它的二进制数码的位数。在码盘的一侧是光源,另一侧对应每一码道有一光敏元件。当码盘处于不同位置时,各光敏元件根据受光照与否转换出相应的电平信号,形成二进制数。显然,码道越多,分辨率就越高,对于一个具有 n 位二进制分辨率的编码器,其码盘必须有 n 条码道。
根据编码方式的不同,式编码器的两种类型码盘(二进制码盘和格雷码码盘),如图1-4 所示。
式编码器的特点是不需要计数器,在转轴的任意位置都可读出一个固定的与位置相对应的数字码,即直接读出角度坐标的值。另外,相对于增量式编码器,式编码器不存在累积误差,并且当电源切除后位置信息也不会丢失。
一般情况下,从编码器的光电检测器件获取的信号电平较低,波形也不规则,不能直接用于控制、信号处理和远距离传输,所以在编码器内还需要对信号进行放大、整形等处理。经过处理的输出信号一般近似于正弦波或矩形波,因为矩形波输出信号容易进行数字处理,所以在控制系统中应用比较广泛。
增量式光电编码器的信号输出有集电极开路输出、电压输出、线驱动输出和推挽式输出等多种信号形式。
集电极开路输出是以输出电路的晶体管发射极作为公共端,并且集电极悬空的输出电路。根据使用的晶体管类型不同,可以分为NPN集电极开路输出(也称作漏型输出,当逻辑 1 时输出电压为0V,如图2-1所示)和PNP集电极开路输出(也称作源型输出,当逻辑 1 时,输出电压为电源电压,如图2-2所示)两种形式。在编码器供电电压和信号接受装置的电压不*的情况下可以使用这种类型的输出电路。
图2-1 NPN 集电极开路输出
图2-2 PNP集电极开路输出
对于PNP型的集电极开路输出的编码器信号,可以接入到漏型输入的模块中,具体的接线原理如图2-3所示。
注意:PNP型的集电极开路输出的编码器信号不能直接接入源型输入的模块中。
图2-3 PNP型输出的接线原理
对于NPN型的集电极开路输出的编码器信号,可以接入到源型输入的模块中,具体的接线原理如图2-4所示。
注意:NPN型的集电极开路输出的编码器信号不能直接接入漏型输入的模块中。
图2-4 NPN型输出的接线原理
电压输出是在集电极开路输出电路的基础上,在电源和集电极之间接了一个上拉电阻,这样就使得集电极和电源之间能有了一个稳定的电压状态,如图2-5。一般在编码器供电电压和信号接受装置的电压*的情况下使用这种类型的输出电路。
图2-5 电压输出型
推挽式输出方式由两个分别为 PNP 型和 NPN 型的三极管组成,如图2-6所示。当其中一个三极管导通时,另外一个三极管则关断,两个输出晶体管交互进行动作。
这种输出形式具有高输入阻抗和低输出阻抗,因此在低阻抗情况下它也可以提供大范围的电源。由于输入、输出信号相位相同且频率范围宽,因此它还适用于长距离传输。
推挽式输出电路可以直接与 NPN 和 PNP 集电极开路输入的电路连接,即可以接入源型或漏型输入的模块中。
图2-6 推挽式输出