西门子PLCs7-200怎么与编码器连接用来测量位置的

作者&投稿:陈没民 (若有异议请与网页底部的电邮联系)
西门子PLCs7-200怎么与编码器连接用来测量位置的?~

定义高速计数器无外乎下面几个步骤:
1、建一个初始化程序,用SM0.1控制;
2、在初始化程序中,初始化高速计数器,置控制寄存器(HSC0为SMB37),不同的计数器对应不同的DI点,HSC0为I0.0,HSC3为I0.1,HSC4为I0.2,HSC5为I0.3(222不支持HSC1和HSC2),执行HDEF指令,你可以用模式0。
3 、置计数器初始值(HSC0为SMD38),如果从零启动就置零。
4、置预置值(HSC0为SMD42),计数器计到这个值可以产生一个中断,一般利用这个中断调用相应的中断程序把当前值(SMD38)复零,否则计数器到头就不再计数了,当然你也可以置一个大点的值,在其他程序中清除当前值(SMD38),确保永远到不了头就可以了。
5 、指定中断程序(ATCH),中断事件是12,程序号看你程序了。
6、打开中断(ENI),这条指令没有的话,2.5是不起作用的。
7、启动高速计数器(HSC),按前面的初始化,你就要启动HSC0,即N为0。
8、程序中读取高速计数器的值,对于HSC0,HC0单元中的内容就是当前的计数值,这个单元只读不能写,你可以通过修改SMD38的内容改变当前的计数值。

《西门子S7-200 PLC接绝对型编码器问题》
下载地址:
http://www.ad.siemens.com.cn/download/docMessage.aspx?ID=5913&loginID=&srno=&sendtime
到下载中心:http://www.ad.siemens.com.cn/download/
文档中文标题:怎样在STEP 7 Micro/WIN 中相互转换二进制码和格雷码?
文档编号:26485059

二进制码->格雷码(编码):从最右边一位起,依次将每一位与左边一位异或(XOR),作为对应格雷码该位的值,最左边一位不变(相当于左边是0);
1100
要将它变为格蕾码:
第一位0与其左位异或结果为0
第二位0与其左位异或结果为1
第三位1与其左位异或结果为0
第四位1保留结果为1
因此最终结果为:1010,也就是原始的格蕾码。
101010100 111111110
格雷码-〉二进制码(解码):从左边第二位起,将每位与左边一位解码后的值异或,作为该位解码后的值(最左边一位依然不变)
1010
要将它变为自然二进制:
0 与第四位 1 进行异或结果为 1
上面结果1与第三位0异或结果为 1
上面结果1与第二位1异或结果为 0
上面结果0与第一位0异或结果为 0
因此最终结果为:1100,这就是二进制码即十进制12;
编码器采用9个输入点编程:
http://www.ad.siemens.com.cn/service/answer/solution.asp?Q_id=39064&cid=1029
多圈编码器如何控制距离的:
http://www.ad.siemens.com.cn/service/answer/solution.asp?Q_id=39099&cid=1029
算出编码器码值之后如何控制距离:
http://www.ad.siemens.com.cn/service/answer/solution.asp?Q_id=39122&cid=1029

先将格雷码转换成2进值码(用异或指令逐位计算),所得2进值数再用比较指令来控制输出电磁阀换向
设编码器为8位,输入i0.0~i0.7,格雷码转换成2进值码程序:
A I 0.7
= M 0.7
X M 0.7
X I 0.6
= M 0.6
X M 0.6
X I 0.5
= M 0.5
X M 0.5
X I 0.4
= M 0.4
X M 0.4
X I 0.3
= M 0.3
X M 0.3
X I 0.2
= M 0.2
X M 0.2
X I 0.1
= M 0.1
X M 0.1
X I 0.0
= M 0.0
计算所得MB0即为格雷码对应的2进值码。
可以参考《怎样在STEP 7 Micro/WIN 中相互转换二进制码和格雷码?》
https://support.automation.siemens.com/CN/adsearch/resultset.aspx?region=CN〈=zh&netmode=internet&ui=MTg4ODY4ODMA&term=graycode&ID=26485059&ehbid=26485059

定义高速计数器无外乎下面几个步骤:
1。建一个初始化程序,用SM0.1控制;
2。在初始化程序中,初始化高速计数器
2.1 设置控制寄存器(HSC0为SMB37),不同的计数器对应不同的DI点,HSC0为I0.0,HSC3为I0.1,HSC4为I0.2,HSC5为I0.3(222不支持HSC1和HSC2)
2.2 执行HDEF指令,你可以用模式0
2.3 置计数器初始值(HSC0为SMD38),如果从零启动就置零
2.4 置预置值(HSC0为SMD42),计数器计到这个值可以产生一个中断,一般利用这个中断调用相应的中断程序把当前值(SMD38)复零,否则计数器到头就不再计数了,当然你也可以置一个大点的值,在其他程序中清除当前值(SMD38),确保永远到不了头就可以了。
2.5 指定中断程序(ATCH),中断事件是12,程序号看你程序了
2.6 打开中断(ENI),这条指令没有的话,2.5是不起作用的
2.7 启动高速计数器(HSC),按前面的初始化,你就要启动HSC0,即N为0
3。程序中读取高速计数器的值,对于HSC0,HC0单元中的内容就是当前的计数值,这个单元只读不能写,你可以通过修改SMD38的内容改变当前的计数值。

思路就是读脉冲数,位置=初始位置+脉冲数*每脉冲代表距离
具体看这个 http://wenku.baidu.com/view/4bebb6e981c758f5f61f6747.html###

首先要看编码器的协议和SIEMENS的216的PLC协议是否一样


想学习PLC、新门子还是三菱好,纠结中?
1. 对于PLC的学习,您在纠结于是选择西门子还是三菱。2. 三菱PLC,作为日系品牌,以其编程直观易懂而受到青睐,学习起来相对轻松,尽管指令较多。3. 西门子PLC,作为德国品牌,其指令较为抽象,学习难度较大,但指令数量较少。因此,学习三菱和西门子的周期大致相同。4. 个人观点认为,三菱(作为日系中...

哪位大佬有 西门子PLC高级应用实例精解_第2版,求发这书籍的网盘链接_百 ...
我这有资源 可以看下 西门子PLC高级应用实例精解_第2版https:\/\/pan.baidu.com\/s\/1OvWteLlyWn1GoY5rpteglw?pwd=1234 提取码:1234 本书通过实例伞面讲解两门子S7-200/S7-1200/S7-300 PLC的高级应用。内容包括梯形图的编程方法、PLC在过程控制中应用、PLC在运动控制中的应用、PLC的通信及其...

西门子PLCs7-1200\/1500怎么实现用SHL指令实现八盏灯循环亮,求梯形图...
把M0.0为ON,给QB0传送一个1,是Q0.0为ON。T37定时器开始计时,根据不同时间,把QB0左移一位。(我忘记这个指令是不是需要用上升沿,不过不影响。)第一次循环之后,T37常闭复位,计时器重新计时开始第二个循环。同事T37常开闭合,计数器+1。当计数器为3时,计数器辅助触头动作,断开所有连接。

西门子plc程序中 S-ITR\/S-RTR\/S-RTI各是什么意思
S-ITR(scale integer to integer to real):把16位整数乘个系数后转成32位浮点数。S-RTR(scale real to real):把32位浮点数乘个系数后存放到输出变量中。S-RTI(scale real to integer) :把32位浮点数乘个系数后转成16位整数。integer:整数,real:实数,scale:缩减,转成。

西门子plc程序中 S-ITR\/S-RTR\/S-RTI各是什么意思
S-ITR(scale integer to integer to real):把16位整数乘个系数后转成32位浮点数。S-RTR(scale real to real):把32位浮点数乘个系数后存放到输出变量中。S-RTI(scale real to integer) :把32位浮点数乘个系数后转成16位整数。integer:整数,real:实数,scale:缩减,转成。

平潭县15637149270: S7 - 200 PLC与绝对型编码器怎样接线 -
照罗夏枯: 1、绝对式和增量式的编码器原理就不一样,接线当然也不一样.我们一般用的都是增量型,只需要注意极性不错,信号能被PLC识别就可以了,然后开始记录转过的脉冲得到数值;而绝对值编码器读的是编码,跟脉冲信号没有关系.2、在PLC...

平潭县15637149270: S7 - 200系列PLC输入输出地址是如何编号的? -
照罗夏枯: 不同型号CPU的I/O口点数是不同的.不过西门子S7-200系列PLC的输入口一般按照I0.0~I0.7,I1.0~I1.7........这样编号;输出口则一般按照Q0.0~Q0.7,Q1.0~Q0.7.......这样编号.

平潭县15637149270: 请问这个编码器,怎么连接西门子S7 - 200 -
照罗夏枯: 1.一般的说,脉冲编码器的输出只要连接到PLC的高速计数口就可以了.2.有输出单路脉冲的编码器,断电后记录当前位置没有问题,它主要取决于你的程序里的设置(断电保持存储器),但是单路输出的在判断正反向时会比较麻烦,建议你还是选用A,B项的编码器比较好.AB项的一般5根线,2根电源+2根AB项+Z项复位信号.3.电源直接连接到电源即可,AB项接PLC输入(比如I0.0,I0.1),建议你好好读一下200手册里的高速计数的章节,自然就明白了.4.选择什么牌子型号的都可以,常用的P+F;OMRON等等,自己去找性价比高的吧.

平潭县15637149270: 本人刚接触PLC,现在想用西门子S7 - 200编一个PLC程序,不知道怎么编. -
照罗夏枯: 首先你用编程软件(Micro/WIN)的菜单命令PLC > Time of Day Clock...设置plc的时钟(需224以上plc)然后用Read_RTC(读时钟)命令获得系统时间(DAT格式,8字节),这个值是可以进行运算的,你可以用实时时钟减去你设定的时间,如果大于200,你可以跳到比较注册码的程序,如果相等则能返回到正常运行程序,否则跳到一个空程序就可以了

平潭县15637149270: 增量编码器接西门子PLC - 200 smart,怎么接线. -
照罗夏枯: 编码器接线倒是可以根据手册和工艺要求来接线,关键是机械转速6000转/分,恐怕你的编码器都会转的冒烟了.目前还没有这么高速的编码器能接到这么高的速度上用的.一般都是减速,齿轮比进行低速来测量距离或者转速.<S7-200 可编程...

平潭县15637149270: 编码器(profibus - dp接口)与西门子S7 - 300PLC 如何连接 -
照罗夏枯: 首先要知道对方编码器用的是什么报文,然后才能用控制字编程.S7-300这边的设置主要是看有没有编码器的GSD文件,没有得安装,有就将其组态,设置DP地址(和编码器中的一样),之后下载就行了. 至于编码器这边的设置要看是什么牌子的编码器了,各个厂家的控制软件都不一样.

平潭县15637149270: 西门子 s7 - 200 编程指令输入及顺序功能图编写 -
照罗夏枯: s7-200的梯形图指令不是这样输入的,而是在左边的指令条里面拖入编程区,再进行地址的编辑. 而不能直接输入指令,除非用STL语言. S7-200提供三种编程语言:STL,梯形图,FBD,三种语言之间可相互切换.

平潭县15637149270: s7 - 200怎么对编码器编程 -
照罗夏枯: 看你的意思应该是用编码器做变频器的速度反馈,只需在变频器中做响应设置就行了.如是编码器接在PLC中,请参照俱侠的回答.

平潭县15637149270: [求助 - 西门子PLC200]请教 S7 - 200与绝对值编码器的连接问题 -
照罗夏枯: Pnp输出高电平,npn输出低电平.至于跟plc选择哪种接线方式,要根据编码器的接线方式来定的. 推挽的最好,这样无需上拉/下拉电阻.200那边不用特殊处理.但要注意的是,编码器的输出电压(电平)是不是24V,如果是,就没有任何问...

平潭县15637149270: 西门子PLCs7 - 200如何用伺服控制编码器 -
照罗夏枯: 西门子PLCs7-200要控制伺服系统的话,需要有定位通讯模块,通过转换模块实现数据转化

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网