西门子模块6ES7231-7PD22-0XA8
用PTO 怎么才能让步进电机走完一段距离后自动反转回来?外部没有开关 NETWORK 1 // 子程序0开始 // - 选择PTO操作 MOVD +4 SMD72 // 将脉冲计数设为4次脉冲。 ATCH INT_0 19 // 将中断例行程序0定义为 // 处理PTO完成中断的中断。 ENI // 全局中断启用 // 周期改动。 NETWORK 1 // 中断0开始 MOVW +1000 SMW68 PLS 0 NETWORK 2 |
日本的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,分辨率还是取决于模块设置的实际精度(转换后的位数
调用子程序有什么好处? |
- 西门子模块6ES7231-7PC22-0XA0 2024-05-08
- 西门子模块6ES7231-7PB22-0XA8 2024-05-08
- 西门子模块6ES7231-0HF22-0XA0 2024-05-08
- 西门子模块6ES7231-0HC22-0XA8 2024-05-08
- 西门子模块6ES7223-1PM22-0XA8 2024-05-08
- 西门子模块6ES7223-1BM22-0XA8 2024-05-08
- 西门子模块6ES7223-1PL22-0XA8 2024-05-08
- 西门子模块6ES7223-1BL22-0XA8 2024-05-08
- 西门子模块6ES7223-1PH22-0XA8 2024-05-08
- 西门子模块6ES7223-1BH22-0XA8 2024-05-08