pc通过vb与plc通讯控制步进电机 一直很花心(2010-12-07 21:30:54) 点击:
19364 回复:
2 IP:
61.150.43.* 我是plc新手。最近在帮老师做个项目中的“pc通过vb与plc通讯控制步进电机”部分。。最近学习了下永宏plc的指令说明。。对其基本应用可以了。。但还有些问题。想向大家请教下。。
具体问题有:
1. 140指令与伺服命令表格的关系到底如何。。
2. 140跟141的关系到底如何。
3. 141的伺服参数表格跟伺服命令格式的关系如何。。
4. 我将伺服命令表格中的 速度 和 位移 设为缓存器,由vb往其中写数据,那脉冲数+ ─如何表达。
5. 我想用vb实时监控运行状态,所以需要将当前脉冲数读回来,看到143貌似可以实现,但它是放在寄存器里,如何又将其发往vb呢。。151指令?
还有个跟vb有关的问题。
6.我vb界面上想直接输十进制数。。伺服命令表格里的速度与位移 需要的是十进制数(或者用存储器表达),但是plc串行通讯好像收的是ASCII码。那么我就需要先用vb将十进制数转成ASCII码传给plc,再通过plc将其还原成 十进制? 我这样的理解对不对。。
.1. 回复:pc通过vb与plc通讯控制步进电机 刘建阳(2010-12-08 17:38:46) IP:
110.87.115.* 1. 140指令就是用来编写定位程序的(编写伺服命令表格)。
2. 轴-轴相对应,如 140写的是PS0,同时想修改PS0的默认伺服参数,那么 141写的当然也要规划为PS0了。
3. 同2问一样。
4.方向由IO组态+定位表格方向决定,具体详看手册2的13章节:NC定位。
5. 详看永宏通讯协议
可以自己编写驱动或者用永宏OPC。
6. 数值格式问题,可以上位程序处理。
.2. 回复:pc通过vb与plc通讯控制步进电机 一直很花心(2010-12-08 23:53:28) IP:
61.150.43.* 何老师。。上面的 4.还是不清楚。。我是在运转中改变其正反转的。这个方向怎么变。。
老师说我想的发正负数这个难实现。。他想了个办法。。给plc接受的数据多设置一位判断正反的数(比如0和1)。。设置两个140(还弄了两个141.。这个好像不需要??).。然后plc对收到的这个数进行判断。0则导向一个正转的140(里面用命令表格编辑好方向了。)1则导向一个反向的140。这样能实现吗。。