全国服务热线 15221406036

西门子模块6ES7231-7PD22-0XA8

发布:2023-03-21 16:50,更新:2024-05-08 07:10

西门子模块6ES7231-7PD22-0XA8

用PTO 怎么才能让步进电机走完一段距离后自动反转回来?外部没有开关
答:1、主程序先正转,等到正转完了就中断,中断中接通个辅助触点(M0.X),当M.0X闭合,住程序中的反转开始运做.这样子就OK了。
2、用PTO指令让Q0.0 OR Q0.1高速脉冲,另一个点如Q0.2做方向信号,就可以控制正反转了,速度快慢就要控制输出脉冲周期了,周期越短速度越快,如果你速度很快的话请考虑缓慢加速,不然它是启动不了的,如果方向也变的快的话就要还做一个缓慢减速,不然它振动会蛮厉害,而且也会失步。
3、程NETWORK 1 // 用于单段脉冲串操作的主程序(PTO)
// 扫描时,将映像寄存器位设为低
// 并调用子程序0
LD SM0.1
R Q0.0 1
CALL SBR_0

NETWORK 1 // 子程序0开始
LD SM0.0
MOVB 16#8D SMB67 // 设置控制字节:

// - 选择PTO操作
// - 选择单段操作
// - 选择毫秒增加
// - 设置脉冲计数和周期数值
// - 启用PTO功能
MOVW +500 SMW68 // 将周期设为500毫秒。

MOVD +4 SMD72 // 将脉冲计数设为4次脉冲。

ATCH INT_0 19 // 将中断例行程序0定义为

 // 处理PTO完成中断的中断。

ENI // 全局中断启用
PLS 0 // 激活PTO操作,PLS0 => Q0.0
MOVB 16#89 SMB67 // 预载控制字节,用于随后的

 // 周期改动。

NETWORK 1 // 中断0开始
// 如果当前周期为500毫秒:
// 将周期设为1000毫秒,并生成4次脉冲
LDW= SMW68 +500

MOVW +1000 SMW68

PLS 0
CRETI

NETWORK 2
// 如果当前周期为1000毫秒:
// 将周期设为500毫秒,并生成4次脉冲
LDW= SMW68 +1000
MOVW +500 SMW68
PLS 0序注释

日本的plc将12位模拟量输入模块转换后的数(0~4095)去掉尾数后为0~4000,对应于模块的模拟量的量程(例如0~10V)。美国的PLC(例如S7-200和GE的PLC)将4000左移3位,12位模拟量输入模块转换后的数为0~32000,接近16位正数的大值32767。
    西门子S7-300PLC模拟量输入模块一般采用积分转化法,转换后的二进制数的位数可以设置为9~16位(与模块的型号和组态有关),如果小于16 位(包括符号位),则转换值被自动左移,使其高位(符号位)在16位字的高位,左移后未使用的低位则填入0。设转换的精度为12位加符号位,左移3位后低3位为0,相当于实际的值被乘以8。这种处理方法使转换后的数值与模拟量的关系与组态的A/D转换的位数无关,便于对转换值的后续计算和处理,例如PID控制功能块FB 41需要将来自模拟量输入模块的整数转换为0~100.0%的浮点数。
    下表给出了模拟量输入模块的转换值与以百分数表示的模拟量之间的对应关系,其中重要的关系是双极性模拟量量程的上、下限(和−)分别对应于模拟值27648和−27648。单极性模拟量量程的上、下限(和0%)分别对应于模拟值27648和0。

    有人可能要问,为什么是27648呢?我认为可能是制定规则的人担心实际的模拟量输入可能会超过选择的量程,因此在量程的上、下限(-~)之外设置了18.5%的裕量。为什么是27648而不是别的数呢?因为27648的十六进制数6C00H是个较特殊的数。
    不能认为模块的分辨率为1/27648,分辨率还是取决于模块设置的实际精度(转换后的位数

调用子程序有什么好处?
子程序可以把整个用户程序按照功能进行结构化的组织。一个“好”的程序总是把全部的控制功能分为几个符合工艺控制规律的子功能块,每个子功能块可以由一个或多个子程序组成。这样的结构也非常有利于分步调试,以免许多功能综合在一起无法判断问题的所在;而且,几个类似的项目也只需要对同一个程序作不多的修改就能适用。
如何调用子程序?
子程序的规则:
.子程序在调用时会保持当前的逻辑运算结果,但是不保存累加器(ACx)的内容 。
.子程序在执行到末尾时自动返回,不必加返回指令;在子程序中间也可以使用条件返回指令 。
.子程序不能使用跳转语句跳入、跳出 。
.子程序返回时,回到调用子程序的指令后面,继续执行上一级程序 
.西门子S7-200 CPU多可以调用64个子程序(CPU226为128个) 。
.子程序可以嵌套调用,即子程序中再调用子程序,一共可以嵌套8层 。
.在中断服务程序中不能欠套调用子程序,被中断服务程序调用的....
.子程序中不能再出现子程序调用 。
.子程序可以带参数调用,在子程序的局部变量表中设置参数的类型;一共可以带16个参数(形式参数) 


联系方式

  • 地址:上海松江 上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
  • 邮编:201600
  • 联系电话:未提供
  • 经理:聂航
  • 手机:15221406036
  • 微信:15221406036
  • QQ:3064686604
  • Email:3064686604@qq.com