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,还请各位前辈不吝赐教。
卓发智能
相互学习,共同进步。
级别: 工控侠客
精华主题: 0
发帖数量: 2429 个
工控威望: 3017 点
下载积分: 10169 分
在线时间: 646(小时)
注册时间: 2008-08-03
最后登录: 2024-11-05
查看卓发智能的 主题 / 回贴
1楼  发表于: 2016-03-31 10:02
欧姆龙PLC控制步进或伺服不需要正负脉冲,只需要更改脉冲指令的控制数据就可以了,不用0减什么。三菱是需要正负脉冲数据来确定电机正反转的。
相信自我!
卓发智能
相互学习,共同进步。
级别: 工控侠客
精华主题: 0
发帖数量: 2429 个
工控威望: 3017 点
下载积分: 10169 分
在线时间: 646(小时)
注册时间: 2008-08-03
最后登录: 2024-11-05
查看卓发智能的 主题 / 回贴
2楼  发表于: 2016-03-31 10:05
和带符号的比较指令进行比较电机运行脉冲来知道电机运行方向。
相信自我!