jiangleidhr
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看jiangleidhr的 主题 / 回贴
楼主  发表于: 2016-03-30 11:27
各位前辈大家好
小弟大四毕业生初次接触PLC,要设计一个4轴机器人控制系统,就是控制四个步进电机(配套驱动器)。使用CP1H
初步设计目标是实现一个类似示教的功能。就是手动控制运动到第一点,记录数据,再运动到第二点,记录数据。然后按循环键开始在两点间循环运动。

我的思路是用高速计数器记录脉冲数实现位置记录,脉冲输出控制步进电机。高速计数器使用线性,加减模式。脉冲输出用PULS+ACC
上电后运动到第一点高速计数器清零。
第一点运动到第二点,记录发给各个电机脉冲数,存入存储器D100—D130(四个电机分别的脉冲数)
循环程序中的脉冲输出指令的脉冲个数调用D100—D130中的数据。
循环程序中先通过比较指令比较存储器数据和0的关系,确定正反转。
PULS调用存储器数据为脉冲数。
脉冲输出后存储器数据反号。
进入下一次循环。

目前有以下几点问题
1.脉冲控制数据为十六进制,双字;高数计数器也是十六进制双字吗?
2.高速计数器0当前值存于A271(存高四位)和A270(存低四位),若要传送到D100中,使用MOV A271 D100 加MOV A270 D101 还是使用长传送MOVL,具体怎么用MOVL?
3.数据反号如何实现?我目前用的是用0减数据并存储到该寄存器中。
4.数据运算。没有十六进制的运算指令,是否需要转为十进制运算,结果再转为十六进制。
5.数据运算中带符号不带符号和有CY无CY是什么含义?
6.高速计数器的数据中如何表示的正负。

新人初次接触PLC,还请各位前辈不吝赐教。
liuxiaba
级别: 探索解密
精华主题: 0
发帖数量: 57 个
工控威望: 140 点
下载积分: 10244 分
在线时间: 55(小时)
注册时间: 2016-03-30
最后登录: 2018-05-22
查看liuxiaba的 主题 / 回贴
1楼  发表于: 2016-03-30 17:03
1、字节没好大要求,主要看你的速度需求,有速度需求就要求字节问题2、一般使用MOV指令,详解见软件内帮助,4、不需要转直接负值。