产品库

6ES7 902-3AG00-0AA0 西门子电缆6ES7 902-3AG00-0AA0

产品信息
品Pai 其他品Pai 应用领域 地矿,电子/电气/通讯/半导体,铁路/船舶/交通,航空航天,电池/电源

上海腾桦电气设备有限公司

编写、编译并下载程序 编写好的程序如下图:

西门子电缆6ES7 902-3AG00-0AA0

编写、编译并下载程序

编写、编译并下载程序 可在PLC变量表里面为变量命名

西门子RS485电缆6ES7 902-3AB00-0AA0

变量命名

编写、编译并下载程序 编译并下载程序

参数接口数据类型描述
inInputDInt需要做积分计算的值
enableInputBool使能积分计算
resetInputBool复位( 为 True 时复位输出参数)
outOutputLReal积分后的值(可保持)
errorOutputBool错误输出

 
在STEP7(TIA Portal)中如何安全地并且间接地寻址? 

描述

采用间接寻址时,只有程序执行时,用于读或写数值的地址才得以确定。使用这种方法可以减少编程量并使得程序更灵活。通常来讲,程序创建后访问地址也就确定了。为了使得间接寻址更灵活和更安全,可以

  •  使用"Array"数据类型用于组合相同的数据类型。
  • 对于不同的存储区,采用index来访问相关的针对每个应用不同的变量。

在下面的例子中,对于三个变量的访问采用了不同的存储区。表01 显示了三个变量的访问列表,每个都有单独的索引。

索引访问变量存储区
1Input_Word_0EW 0
2"Processdata".TemperatureDB 1
3Output_Word_4AW 4

表01

创建一个功能,并声明输入变量为"Int"类型。图.01 显示了对于"AccessGroupInt"功能块的编程示例,通过index进行间接寻址并返回值。可以在程序中直接使用间接访问,例如使用指令#TempValue:= "AccessGroupInt"(#Index);。这一编程方法

  • 可追踪,因为可以使用交叉索引。
  • 安全,因为仅使用了预定义的内存区。
  • 通用,因为既可以用于标准块也可以用于优化的数据区 。

在下面的示例中数据被从三个不同的优化的数据块中读出或写入。三个数据块"Silo_Water", "Silo_Sugar" 和"Silo_Milk"都包含相同的变量声明:

  • DB 变量1:"MyBool" Bool类型
  • DB 变量2:"MyInt"  Int类型
  • DB 变量3:"MyWord"  Word类型

创建的PLC数据类型"SiloUDT"用于寻址包含不同数据类型的DB变量。 "AccessGroupSiloRead"功能块用于读出返回值,是由PLC 数据类型 "SiloUDT"定义的。基于此可以在一个FB中间接访问,例如如图.03所示的指令:

  • "Silo_Handling_OnlyReading"("AccessGroupSiloRead"(Index:= #Silo_Index));

创建环境
此FAQ中的截屏由 STEP 7 (TIA Portal) V13创建。

 

下表列出了 FB "Integration" 的输入和输出参数。

参数接口数据类型描述
inInputDInt需要做积分计算的值
enableInputBool使能积分计算
resetInputBool复位( 为 True 时复位输出参数)
outOutputLReal积分后的值(可保持)
errorOutputBool错误输出

 
在STEP7(TIA Portal)中如何安全地并且间接地寻址? 

描述

采用间接寻址时,只有程序执行时,用于读或写数值的地址才得以确定。使用这种方法可以减少编程量并使得程序更灵活。通常来讲,程序创建后访问地址也就确定了。为了使得间接寻址更灵活和更安全,可以

  •  使用"Array"数据类型用于组合相同的数据类型。
  • 对于不同的存储区,采用index来访问相关的针对每个应用不同的变量。

在下面的例子中,对于三个变量的访问采用了不同的存储区。表01 显示了三个变量的访问列表,每个都有单独的索引。

索引访问变量存储区
1Input_Word_0EW 0
2"Processdata".TemperatureDB 1
3Output_Word_4AW 4

表01

创建一个功能,并声明输入变量为"Int"类型。图.01 显示了对于"AccessGroupInt"功能块的编程示例,通过index进行间接寻址并返回值。可以在程序中直接使用间接访问,例如使用指令#TempValue:= "AccessGroupInt"(#Index);。这一编程方法

  • 可追踪,因为可以使用交叉索引。
  • 安全,因为仅使用了预定义的内存区。
  • 通用,因为既可以用于标准块也可以用于优化的数据区 。
  • 控制模式1、  系统设置远程/本地/手动按钮

    1.1、        远程:只能通过上位机对系统进行自动启/停控制,单台设备就地控制优先,在程控时,可以通过上位机对设备进行软手操/自动切换,软手操启/停;

    1.2、        本地:只能通过触摸屏对系统进行自动启/停控制,单台设备就地控制优先,在程控时,可以通过触摸屏对设备进行软手操/自动切换,软手操启/停;

    1.3、        手动:手动控制时,上位机/触摸屏失效,只能通过手动控制设备的启/停。

    2、  单台设备控制

    单台设备必须有软手操/自动切换以及软手操时可以启/停功能,由自动切换到软手操时,设备不能停机;由软手操切换到自动时,设备启/停取决于自动程序。

    3、  单台设备(泵、风机及其它大型设备)运行满24小时必须进行轮换,且必须有运行时间累计,如果由上位机设定启/停顺序除外,操作人员自行设定;

    三、编程技巧

    1、  程序块尽量细化,方便阅读,将同一类型的设备控制放在一个程序块中;

    2、  如遇特殊情况下采用语言编程,多数情况下请使用梯形图编程,方便别人阅读;

    3、  对于经常调用的子程序,可以做成子模块,频繁调用,例如:求几个数平均值或求几个数的值;

    4、  程序要有注释,变量及中间变量必须有描述,方便别人阅读或以后查阅;

    5、  定期做程序备份,工程名称+系统名称+当天日期;

    6、  程序加密,防止别人窃取。

    我想说plc入门容易,深造难啊。对于一些初学者,看看书看看视频没有专门的去实践学习,大部分了解了plc的原理,设计一些简单的程序可以运用自如,但是碰到一些复杂的要求时,就懵逼了,因为我以前也时常懵逼。plc这个东西就得把指令融汇贯通,运用自如,才能编出一些较复杂的程序。下面简单介绍一下学plc的技巧和方法,让大家更快地去熟悉plc、掌握plc,让我们口袋里的钱变得鼓鼓的。

    首先、你得对编程感兴趣,设计出程序来感觉有成就感。有的人一看到界面,一看到要求,哎呦妈呀晕晕晕,哥快来扶我一把。这样的同学我劝你这辈子就告别工控这条路吧。

    第二、学习plc编程要有一定的电器基础,要明白各个电器的用途,因为PLC说白了也就是把很多的电器实物程序化(比如说各种继电器及计数器等),但是也有的人跨专业来学,感觉工控好啊,工控好神奇啊,带着强烈的兴趣来探索工控这个奥秘。这样的同学可能比有基础的同学学的还要好。

    第三、选择一个品Pai。

    老大当然是西门子,尤其在冶金方面接近于99%。ABB在石油方面用到的很广。罗克韦尔也不错,就是价格稍微高一点。还有就是施耐德了。然后呢就是日本的一些Pai子了,三菱、欧姆龙等。其次就是ZG的一些品Pai了比如说和利时,台达、信捷等一些品Pai了。

    第四、没时间的可以买本书买些视频或者看看,电脑下载一个对应的编程软件,试着编绘简易梯形图:一般以现有的电工原理图,根据其工作原理进行绘制,由浅 入深,先求画出,再求简单明了,慢慢领会绘制梯形图心得。首先要理解电工原理图的工作原理,根据电 工原理图的工作原理,再按 PLC 的要求进行绘制。应把握的是,不能简单地将 PLC 各接点与电工原理图上 的各接点一一对应(这是初学者的通病),若是这样的话就有可能步入死胡同,绘制的梯形图只要能达到 目的即可。有条件的就整个硬件或者模拟器。
    再有条件又有时间就去报培训班学吧,那样学得会比自己学的全面容易,也有硬件供你练习实践

在下面的示例中数据被从三个不同的优化的数据块中读出或写入。三个数据块"Silo_Water", "Silo_Sugar" 和"Silo_Milk"都包含相同的变量声明:

  • DB 变量1:"MyBool" Bool类型
  • DB 变量2:"MyInt"  Int类型
  • DB 变量3:"MyWord"  Word类型

编译并下载程序

为了近似测定面积,使用以SCL语言编写的FB "Integration"程序块可以持续对区域面积进行累加。

说明

积分是对给定函数曲线的面积进行数学计算。但是实际曲线往往没有明确的数学关系,而是随时间变化的模拟量。积分计算就是把所有由两个过程值与时间所围成的梯形区域面积相加,梯形面积等于两个过程值的平均值乘以时间间隔。

西门子电缆6ES7 902-3AG00-0AA0

下载附件是以SCL语言编写的用于计算积分的 "Integration"   功能块

表示了FB "Integration"的调用参数。FB "Integration"中 "in"参数为转化为浮点数的模拟量输入值。

  • 如果"enable" 参数接收到 "False" 值,那么积分计算将停止并且"out"参数输出计算值。
  • 如果 "reset"接收到 "True"值,那么"out"输出将复位为零。
  • 计算结果存储于 "out" 输出。
  • 当使能积分后,"error"会在启动计算时输出一个周期的"True"信号(信号在积分计算期间失效)。

要使用 "in"参数的输入值启动积分计算,必须

  •  设置"enable"参数的值为"True"。
  • 设置 "reset"参数的值为 "False"。
  • 西门子电缆6ES7 902-3AC00-0AA0

下表列出了 FB "Integration" 的输入和输出参数。

创建的PLC数据类型"SiloUDT"用于寻址包含不同数据类型的DB变量。 "AccessGroupSiloRead"功能块用于读出返回值,是由PLC 数据类型 "SiloUDT"定义的。基于此可以在一个FB中间接访问,例如如图.03所示的指令:

  • "Silo_Handling_OnlyReading"("AccessGroupSiloRead"(Index:= #Silo_Index));

创建环境
此FAQ中的截屏由 STEP 7  V13创建。

为了plc程序可读性强,短期内可以读懂并且能够修改,在PLC工作组内部需要统一我们的编程标准,以便适应将来工程人员调动后,原来的程序能够被后来的人在短期内读懂,现统一标准如下:

一、程序结构1、  程序结构统一

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;

如果程序块与系统块重复,请避让。

2、  数据块

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区:也作为中间变量。

 
参数接口数据类型描述
inInputDInt需要做积分计算的值
enableInputBool使能积分计算
resetInputBool复位( 为 True 时复位输出参数)
outOutputLReal积分后的值(可保持)
errorOutputBool错误输出

 
在STEP7(TIA Portal)中如何安全地并且间接地寻址? 

描述

采用间接寻址时,只有程序执行时,用于读或写数值的地址才得以确定。使用这种方法可以减少编程量并使得程序更灵活。通常来讲,程序创建后访问地址也就确定了。为了使得间接寻址更灵活和更安全,可以

  •  使用"Array"数据类型用于组合相同的数据类型。
  • 对于不同的存储区,采用index来访问相关的针对每个应用不同的变量。

在下面的例子中,对于三个变量的访问采用了不同的存储区。表01 显示了三个变量的访问列表,每个都有单独的索引。

索引访问变量存储区
1Input_Word_0EW 0
2"Processdata".TemperatureDB 1
3Output_Word_4AW 4

表01

创建一个功能,并声明输入变量为"Int"类型。图.01 显示了对于"AccessGroupInt"功能块的编程示例,通过index进行间接寻址并返回值。可以在程序中直接使用间接访问,例如使用指令#TempValue:= "AccessGroupInt"(#Index);。这一编程方法

  • 可追踪,因为可以使用交叉索引。
  • 安全,因为仅使用了预定义的内存区。
  • 通用,因为既可以用于标准块也可以用于优化的数据区 。

在下面的示例中数据被从三个不同的优化的数据块中读出或写入。三个数据块"Silo_Water", "Silo_Sugar" 和"Silo_Milk"都包含相同的变量声明:

  • DB 变量1:"MyBool" Bool类型
  • DB 变量2:"MyInt"  Int类型
  • DB 变量3:"MyWord"  Word类型

创建的PLC数据类型"SiloUDT"用于寻址包含不同数据类型的DB变量。 "AccessGroupSiloRead"功能块用于读出返回值,是由PLC 数据类型 "SiloUDT"定义的。基于此可以在一个FB中间接访问,例如如图.03所示的指令:

  • "Silo_Handling_OnlyReading"("AccessGroupSiloRead"(Index:= #Silo_Index));

创建环境
此FAQ中的截屏由 STEP 7 (TIA Portal) V13创建。

 

下表列出了 FB "Integration" 的输入和输出参数。

参数接口数据类型描述
inInputDInt需要做积分计算的值
enableInputBool使能积分计算
resetInputBool复位( 为 True 时复位输出参数)
outOutputLReal积分后的值(可保持)
errorOutputBool错误输出

 
在STEP7(TIA Portal)中如何安全地并且间接地寻址? 

描述

采用间接寻址时,只有程序执行时,用于读或写数值的地址才得以确定。使用这种方法可以减少编程量并使得程序更灵活。通常来讲,程序创建后访问地址也就确定了。为了使得间接寻址更灵活和更安全,可以

  •  使用"Array"数据类型用于组合相同的数据类型。
  • 对于不同的存储区,采用index来访问相关的针对每个应用不同的变量。

在下面的例子中,对于三个变量的访问采用了不同的存储区。表01 显示了三个变量的访问列表,每个都有单独的索引。

索引访问变量存储区
1Input_Word_0EW 0
2"Processdata".TemperatureDB 1
3Output_Word_4AW 4

表01

创建一个功能,并声明输入变量为"Int"类型。图.01 显示了对于"AccessGroupInt"功能块的编程示例,通过index进行间接寻址并返回值。可以在程序中直接使用间接访问,例如使用指令#TempValue:= "AccessGroupInt"(#Index);。这一编程方法

  • 可追踪,因为可以使用交叉索引。
  • 安全,因为仅使用了预定义的内存区。
  • 通用,因为既可以用于标准块也可以用于优化的数据区 。
  • 控制模式1、  系统设置远程/本地/手动按钮

    1.1、        远程:只能通过上位机对系统进行自动启/停控制,单台设备就地控制优先,在程控时,可以通过上位机对设备进行软手操/自动切换,软手操启/停;

    1.2、        本地:只能通过触摸屏对系统进行自动启/停控制,单台设备就地控制优先,在程控时,可以通过触摸屏对设备进行软手操/自动切换,软手操启/停;

    1.3、        手动:手动控制时,上位机/触摸屏失效,只能通过手动控制设备的启/停。

    2、  单台设备控制

    单台设备必须有软手操/自动切换以及软手操时可以启/停功能,由自动切换到软手操时,设备不能停机;由软手操切换到自动时,设备启/停取决于自动程序。

    3、  单台设备(泵、风机及其它大型设备)运行满24小时必须进行轮换,且必须有运行时间累计,如果由上位机设定启/停顺序除外,操作人员自行设定;

    三、编程技巧

    1、  程序块尽量细化,方便阅读,将同一类型的设备控制放在一个程序块中;

    2、  如遇特殊情况下采用语言编程,多数情况下请使用梯形图编程,方便别人阅读;

    3、  对于经常调用的子程序,可以做成子模块,频繁调用,例如:求几个数平均值或求几个数的值;

    4、  程序要有注释,变量及中间变量必须有描述,方便别人阅读或以后查阅;

    5、  定期做程序备份,工程名称+系统名称+当天日期;

    6、  程序加密,防止别人窃取。

    我想说plc入门容易,深造难啊。对于一些初学者,看看书看看视频没有专门的去实践学习,大部分了解了plc的原理,设计一些简单的程序可以运用自如,但是碰到一些复杂的要求时,就懵逼了,因为我以前也时常懵逼。plc这个东西就得把指令融汇贯通,运用自如,才能编出一些较复杂的程序。下面简单介绍一下学plc的技巧和方法,让大家更快地去熟悉plc、掌握plc,让我们口袋里的钱变得鼓鼓的。

    首先、你得对编程感兴趣,设计出程序来感觉有成就感。有的人一看到界面,一看到要求,哎呦妈呀晕晕晕,哥快来扶我一把。这样的同学我劝你这辈子就告别工控这条路吧。

    第二、学习plc编程要有一定的电器基础,要明白各个电器的用途,因为PLC说白了也就是把很多的电器实物程序化(比如说各种继电器及计数器等),但是也有的人跨专业来学,感觉工控好啊,工控好神奇啊,带着强烈的兴趣来探索工控这个奥秘。这样的同学可能比有基础的同学学的还要好。

    第三、选择一个品Pai。

    老大当然是西门子,尤其在冶金方面接近于99%。ABB在石油方面用到的很广。罗克韦尔也不错,就是价格稍微高一点。还有就是施耐德了。然后呢就是日本的一些Pai子了,三菱、欧姆龙等。其次就是ZG的一些品Pai了比如说和利时,台达、信捷等一些品Pai了。

    第四、没时间的可以买本书买些视频或者看看,电脑下载一个对应的编程软件,试着编绘简易梯形图:一般以现有的电工原理图,根据其工作原理进行绘制,由浅 入深,先求画出,再求简单明了,慢慢领会绘制梯形图心得。首先要理解电工原理图的工作原理,根据电 工原理图的工作原理,再按 PLC 的要求进行绘制。应把握的是,不能简单地将 PLC 各接点与电工原理图上 的各接点一一对应(这是初学者的通病),若是这样的话就有可能步入死胡同,绘制的梯形图只要能达到 目的即可。有条件的就整个硬件或者模拟器。
    再有条件又有时间就去报培训班学吧,那样学得会比自己学的全面容易,也有硬件供你练习实践

在下面的示例中数据被从三个不同的优化的数据块中读出或写入。三个数据块"Silo_Water", "Silo_Sugar" 和"Silo_Milk"都包含相同的变量声明:

  • DB 变量1:"MyBool" Bool类型
  • DB 变量2:"MyInt"  Int类型
  • DB 变量3:"MyWord"  Word类型

4.2 如何判断编码器的好坏 

可以通过以下几种方法判断编码器的好坏:

  • 将编码器接入 PLC的高速计数模块,通过读取实际脉冲个数或码值来判断编码器输出是否正确。
  • 通过示波器查看编码器输出波形,根据实际的输出波形来判断编码器是否正常。
  • 通过万用表的电压档来测量编码器输出信号电压来判断编码器是否正常,具体操作方法如下:

1)编码器为NPN晶体管输出时,用万用表测量电源正极和信号输出线之间的电压

  • 导通时输出电压接近供电电压
  • 关断时输出电压接近 0V

2)编码器为PNP晶体管输出时,用万用表测量测量电源负极和信号输出线之间的电压

  • 导通时输出电压接近供电电压
  • 关断时输出电压接近 0V
4.3 计数不准确的原因及相应的避免措施 

在实际应用中,导致计数或测量不准确的原因很多,其中主要应注意以下几点:

  • 编码器安装的现场环境有抖动,编码器和电机轴之间有松动,没有固定紧。
  • 旋转速度过快,超出编码器的响应频率。
  • 编码器的脉冲输出频率大于计数器输入脉冲频率。
  • 信号传输过程中受到干扰。

针对以上问题的避免措施:

  • 检查编码器的机械安装,是否打滑、跳齿、齿轮齿隙是否过大等。
  • 计算一下脉冲频率,是否接近或超过了极限值。
  • 确保高速计数模块能够接收的脉冲频率大于编码器的脉冲输出频率。
  • 检查信号线是否过长,是否使用屏蔽双绞线,按要求做好接地,并采取必要抗干扰措施。
4.4空闲的编码器信号线该如何处理 

在实际的应用中,可能会遇到不需要或者模块不支持的信号线,例如:

  • 对于带零位信号的AB正交编码器(A、B、N),模块不支持N相输入或者不需要Z信号。
  • 对于差分输出信号(A、/A,B、/B,N、/N),模块不支持反向信号(/A,/B,/N)的输入。
  • 对于这些信号线,不需要特殊的处理,可以直接放弃不用!
4.5增量信号多重评估能否提高计数频率 

对于增量信号,可以组态多重评估模式,包括双重评估和四重评估。四重评估是指同时对信号 A和B 的正跳沿和负跳沿进行判断,进而得到计数值,如图4-1所示。对于四重评估的模式,因为对一个脉冲进行了四倍的处理(四次评估),所以读到的计数值是实际输入脉冲数的四倍,通过对信号的多重评估可以提高测量的分辨率。

图4-1 四重评估原理图

通过以上对增量信号多重评估原理的分析可以看出,多重评估只是在原计数脉冲的基础上对计数值作了倍频处理,而实际上对实际输入脉冲频率没有影响,所以也不会提高模块的计数频率。例如,FM350-2的计数频率为10kHz,那么即使配置为四重评估的模式,其的计数频率还是10kHz

 

编码器是传感器的一种,主要用来检测机械运动的速度、位置、角度、距离和计数等,许多马达控制均需配备编码器以供马达控制器作为换相、速度及位置的检出等,应用范围相当广泛。按照不同的分类方法,编码器可以分为以下几种类型:

  • 根据检测原理,可分为光学式、磁电式、感应式和电容式。
  • 根据输出信号形式,可以分为模拟量编码器、数字量编码器。
  • 根据编码器方式,分为增量式编码器、式编码器和混合式编码器。

光电编码器是集光、机、电技术于一体的数字化传感器,主要利用光栅衍射的原理来实现位移——数字变换,通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。典型的光电编码器由码盘、检测光栅、光电转换电路(包括光源、光敏器件、信号转换电路)、机械部件等组成。光电编码器具有结构简单、精度高、寿命长等优点,广泛应用于精密定位、速度、长度、加速度、振动等方面。

这里我们主要介绍SIMATIC S7系列高速计数产品普遍支持的增量式编码器和式编码器。

1.2增量式编码器 

增量式编码器提供了一种对连续位移量离散化、增量化以及位移变化(速度)的传感方法。增量式编码器的特点是每产生一个输出脉冲信号就对应于一个增量位移,它能够产生与位移增量等值的脉冲信号。增量式编码器测量的是相对于某个基准点的相对位置增量,而不能够直接检测出位置信息。

如图1-1 所示,增量式编码器主要由光源、码盘、检测光栅、光电检测器件和转换电路组成。在码盘上刻有节距相等的辐射状透光缝隙,相邻两个透光缝隙之间代表一个增量周期。检测光栅上刻有A、B 两组与码盘相对应的透光缝隙,用以通过或阻挡光源和光电检测器件之间的光线,它们的节距和码盘上的节距相等,并且两组透光缝隙错开1/4 节距,使得光电检测器件输出的信号在相位上相差 90°。当码盘随着被测转轴转动时,检测光栅不动,光线透过码盘和检测光栅上的透过缝隙照射到光电检测器件上,光电检测器件就输出两组相位相差 90°的近似于正弦波的电信号,电信号经过转换电路的信号处理,就可以得到被测轴的转角或速度信息。

图1-1 增量式编码器原理图

一般来说,增量式光电编码器输出 A、B  两相相位差为 90°的脉冲信号(即所谓的两相正交输出信号),根据 A、B 两相的先后位置关系,可以方便地判断出编码器的旋转方向。另外,码盘一般还提供用作参考零位的 N  相标志(指示)脉冲信号,码盘每旋转一周,会发出一个零位标志信号。

图1-2 增量式编码器输出信号

1.3式编码器 

式编码器的原理及组成部件与增量式编码器基本相同,与增量式编码器不同的是,式编码器用不同的数码来指示每个不同的增量位置,它是一种直接输出数字量的传感器。

图1-3式编码器原理图

如图1-3所示,式编码器的圆形码盘上沿径向有若干同心码道,每条码道上由透光和不透光的扇形区相间组成,相邻码道的扇区数目是双倍关系,码盘上的码道数就是它的二进制数码的位数。在码盘的一侧是光源,另一侧对应每一码道有一光敏元件。当码盘处于不同位置时,各光敏元件根据受光照与否转换出相应的电平信号,形成二进制数。显然,码道越多,分辨率就越高,对于一个具有 n 位二进制分辨率的编码器,其码盘必须有 n  条码道。

根据编码方式的不同,式编码器的两种类型码盘(二进制码盘和格雷码码盘),如图1-4 所示。

式编码器的特点是不需要计数器,在转轴的任意位置都可读出一个固定的与位置相对应的数字码,即直接读出角度坐标的值。另外,相对于增量式编码器,式编码器不存在累积误差,并且当电源切除后位置信息也不会丢失。

 编码器输出信号类型 

一般情况下,从编码器的光电检测器件获取的信号电平较低,波形也不规则,不能直接用于控制、信号处理和远距离传输,所以在编码器内还需要对信号进行放大、整形等处理。经过处理的输出信号一般近似于正弦波或矩形波,因为矩形波输出信号容易进行数字处理,所以在控制系统中应用比较广泛。

增量式光电编码器的信号输出有集电极开路输出、电压输出、线驱动输出和推挽式输出等多种信号形式。

2.1集电极开路输出 

集电极开路输出是以输出电路的晶体管发射极作为公共端,并且集电极悬空的输出电路。根据使用的晶体管类型不同,可以分为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.2 电压输出型 

电压输出是在集电极开路输出电路的基础上,在电源和集电极之间接了一个上拉电阻,这样就使得集电极和电源之间能有了一个稳定的电压状态,如图2-5。一般在编码器供电电压和信号接受装置的电压一致的情况下使用这种类型的输出电路。

图2-5 电压输出型

2.3 推挽式输出 

推挽式输出方式由两个分别为 PNP 型和 NPN 型的三极管组成,如图2-6所示。当其中一个三极管导通时,另外一个三极管则关断,两个输出晶体管交互进行动作。

这种输出形式具有高输入阻抗和低输出阻抗,因此在低阻抗情况下它也可以提供大范围的电源。由于输入、输出信号相位相同且频率范围宽,因此它还适用于长距离传输。

推挽式输出电路可以直接与 NPN 和 PNP 集电极开路输入的电路连接,即可以接入源型或漏型输入的模块中。

图2-6 推挽式输出

2.4 线驱动输出 

如图 2-7所示,线驱动输出接口采用了专用的 IC  芯片,输出信号符合RS-422 标准,以差分的形式输出,因此线驱动输出信号抗干扰能力更强,可以应用于高速、长距离数据传输的场合,同时还具有响应速度快和抗噪声性能强的特点。

说明:除了上面所列的几种编码器输出的接口类型外,现在好多厂家生产的编码器还具有智能通信接口,比如PROFIBUS总线接口。这种类型的编码器可以直接接入相应的总线网络,通过通信的方式读出实际的计数值或测量值,这里不做说明。

3  高速计数模块与编码器的兼容性 

高速计数模块主要用于评估接入模块的各种脉冲信号,用于对编码器输出的脉冲信号进行计数和测量等。西门子SIMATIC  S7的全系列产品都有支持高速计数功能的模块,可以适应于各种不同场合的应用。

根据产品功能的不同,每种产品高速计数功能所支持的输入信号类型也各不相同,在系统设计或产品选型时要特别注意。下表3-1给出了西门子高速计数产品与编码器的兼容性信息,供选型时参考。

表3-1 高速计数产品与编码器的兼容性

SIMATIC S7 系列产品增量型编码器

 

编码器

24V PNP24V NPN24V推挽式5V 差分SSI
S7-200 /

 

S7-200 Smart

CPU 集成的HSC--
S7-1200CPU 集成的HSC--
S7-300CPU31xC 集成的 HSC---
FM350-1-
FM350-2---
SM338----
S7-400FM450-1-
ET200S1Count 24V--
1Count 5V----
1SSI----
S7-1500 TM Count 2x24V-- 
TM PosInput2---
ET200SP TM Count 1x24V--
TM PosInput1---

兼容;    - 不兼容

 编码器使用的常见问题4.1 编码器选型时要考虑哪些参数 

在编码器选型时,可以综合考虑以下几个参数:

  • 编码器类型:根据应用场合和控制要求确定选用增量型编码器还是性编码器。
  • 输出信号类型:对于增量型编码根据需要确定输出接口类型(源型、漏型)。
  • 信号电压等级:确认信号的电压等级(DC24V、DC5V等)。
  • 输出频率:根据应用场合和需求确认输出频率及分辨率、位数等参数。
  • 安装方式、外形尺寸:综合考虑安装空间、机械强度、轴的状态、外观规格、机械寿命等要求。
4.2 如何判断编码器的好坏 

可以通过以下几种方法判断编码器的好坏:

  • 将编码器接入 PLC的高速计数模块,通过读取实际脉冲个数或码值来判断编码器输出是否正确。
  • 通过示波器查看编码器输出波形,根据实际的输出波形来判断编码器是否正常。
  • 通过万用表的电压档来测量编码器输出信号电压来判断编码器是否正常,具体操作方法如下:

1)编码器为NPN晶体管输出时,用万用表测量电源正极和信号输出线之间的电压

  • 导通时输出电压接近供电电压
  • 关断时输出电压接近 0V

2)编码器为PNP晶体管输出时,用万用表测量测量电源负极和信号输出线之间的电压

  • 导通时输出电压接近供电电压
  • 关断时输出电压接近 0V
4.3 计数不准确的原因及相应的避免措施 

在实际应用中,导致计数或测量不准确的原因很多,其中主要应注意以下几点:

  • 编码器安装的现场环境有抖动,编码器和电机轴之间有松动,没有固定紧。
  • 旋转速度过快,超出编码器的响应频率。
  • 编码器的脉冲输出频率大于计数器输入脉冲频率。
  • 信号传输过程中受到干扰。

针对以上问题的避免措施:

  • 检查编码器的机械安装,是否打滑、跳齿、齿轮齿隙是否过大等。
  • 计算一下脉冲频率,是否接近或超过了极限值。
  • 确保高速计数模块能够接收的脉冲频率大于编码器的脉冲输出频率。
  • 检查信号线是否过长,是否使用屏蔽双绞线,按要求做好接地,并采取必要抗干扰措施。
4.4空闲的编码器信号线该如何处理 

在实际的应用中,可能会遇到不需要或者模块不支持的信号线,例如:

  • 对于带零位信号的AB正交编码器(A、B、N),模块不支持N相输入或者不需要Z信号。
  • 对于差分输出信号(A、/A,B、/B,N、/N),模块不支持反向信号(/A,/B,/N)的输入。
  • 对于这些信号线,不需要特殊的处理,可以直接放弃不用!
4.5增量信号多重评估能否提高计数频率 

对于增量信号,可以组态多重评估模式,包括双重评估和四重评估。四重评估是指同时对信号 A和B 的正跳沿和负跳沿进行判断,进而得到计数值,如图4-1所示。对于四重评估的模式,因为对一个脉冲进行了四倍的处理(四次评估),所以读到的计数值是实际输入脉冲数的四倍,通过对信号的多重评估可以提高测量的分辨率。

图4-1 四重评估原理图

通过以上对增量信号多重评估原理的分析可以看出,多重评估只是在原计数脉冲的基础上对计数值作了倍频处理,而实际上对实际输入脉冲频率没有影响,所以也不会提高模块的计数频率。例如,FM350-2的计数频率为10kHz,那么即使配置为四重评估的模式,其的计数频率还是10kHz

 

信息声明:本产品供应信息由仪器网为您整合,供应商为(上海腾桦电气设备有限公司),内容包括 (6ES7 902-3AG00-0AA0 西门子电缆6ES7 902-3AG00-0AA0)的品牌、型号、技术参数、详细介绍等;如果您想了解更多关于 (6ES7 902-3AG00-0AA0 西门子电缆6ES7 902-3AG00-0AA0)的信息,请直接联系供应商,给供应商留言!
供应商产品推荐
    您可能感兴趣的产品