好文档 - 专业文书写作范文服务资料分享网站

慧鱼四自由度机械手说明书

天下 分享 时间: 加入收藏 我要投稿 点赞

用心整理的精品word文档,下载即可编辑!!

用厂家提供的9针D型插头经由RS232接口电缆和计算机的串行口(COM1或COM)连接。 控制端口参数

波特率 9600 位数 8 校验 无 停止位 1

通 讯

计算机通过串行口与控制接口板通信的格式是两个字节。第一个字节是接口命令,它告诉接口发送什么作为应答,第二个字节规定哪个电机以什么方向运动。

接口命令字节 二进制 11000001 10000101 11001001 十六进制 C1 C5 C9 十进制 193 197 201 规定(回送内容) 只输入 E1—E8 输入E1—E8和模拟量EX 输入E1—E8和模拟量EY 电机状态字节+6 位 1 2 3 4 5 6 7 8 规定 电机1左转 电机1右转 电机2左转 电机2右转 电机3左转 电机3右转 电机4左转 电机4右转 可以同时操作4个电机。但是如果对一个电机同时设置左转和右转,电机将拒绝运行。

精心整理,用心做精品

- 9 -

用心整理的精品word文档,下载即可编辑!!

从接口板应答 命令 193 197 201 应答 1字节 3字节 3字节 规定(回送内容及格式) 每1位代表1位输入 1字节见上,2、3字节为模拟量EX 1字节见上,2、3字节为模拟量EY 注意:从接口板发出的电机控制数据必须在300ms内进行刷新,否则电机将停转。

五.服务端程序中主要功能模块的设计过程

图6中上方文本框用于记录手爪闭合时行程开关状态(十进制),Timer主要用于刷新电机数据以及电机的延时。启动VB并新建一个工程,往窗体(Form)中加入1个Winsock控件、1个通信控件(MSComml)以访问串口;12个定时器控件(Timer)以延时查询串口;8个复选框控件及2个按钮组控制四路电机及其状态。

MSComm控件 Timmer控件 图6:本地控制界面

主要代码以及事件方法介绍如下: Private Sub Form_Load()

- 10 -

Winsock控件

精心整理,用心做精品

用心整理的精品word文档,下载即可编辑!!

Timer1.Enabled = False Timer2.Enabled = False Timer3.Enabled = False Timer4.Enabled = False Timer5.Enabled = False Timer6.Enabled = False Timer7.Enabled = False Timer8.Enabled = False Timer9.Enabled = False Timer10.Enabled = False Timer11.Enabled = False Timer12.Enabled = False

Winsock1.Listen ’进入侦听状态,等待客户端的连接请求 MSComm1.InBufferCount = 0 ’清除接收缓冲区 MSComm1.CommPort = 1 ’选择通讯端口1 MSComm1.RThreshold = 1 ’接收缓冲区收到每一个字符都会

使 MSComm 控件产生 OnComm 事件

MSComm1.InputLen = 0 ’MSComm 控件读取接收缓冲区中全部的内容

MSComm1.Settings = \’设置通信参数9600,N,8,1 MSComm1.PortOpen = True ’打开通讯端口 Private Sub MSComm1_OnComm()

’ OnComm事件:通过接口板的各个输入控制电

Dim inbyte() As Byte

Select Case MSComm1.CommEvent

精心整理,用心做精品

- 11 -

用心整理的精品word文档,下载即可编辑!!

Case comEvReceive ’监测通信过程中发生的错误或事件 inbyte = MSComm1.Input End Select Dim a As Integer Dim b As Integer Dim c As Integer Dim d As Integer Dim e As Integer a = inbyte(0) And 1 b = inbyte(0) And 2 c = inbyte(0) And 8 d = inbyte(0) And 16 e = inbyte(0) And 4

If a = 1 Then Timer1.Enabled = False If b = 2 Then Timer2.Enabled = False If c = 8 Then Timer5.Enabled = False If d = 16 Then Timer6.Enabled = False If e = 4 Then Timer7.Enabled = False End Sub

Private Sub Timer1_Timer() Dim outbyte(1) As Byte

精心整理,用心做精品

- 12 -

压下限位开关E1,

向前运动停止

压下限位开关E2,

向后运动停止

压下限位开关E4,

上运动停止

压下限位开关E5,

向下运动停止

压下限位开关E3,

机械手张开停止

’’’’’用心整理的精品word文档,下载即可编辑!!

outbyte(0) = &HC1

outbyte(1) = &H1 ’电机1正转,向前运

MSComm1.OutBufferCount = 0 MSComm1.Output = outbyte End Sub

Private Sub Timer2_Timer() Dim outbyte(1) As Byte outbyte(0) = &HC1

outbyte(1) = &H2 MSComm1.OutBufferCount = 0 MSComm1.Output = outbyte End Sub

Private Sub Timer3_Timer() Dim outbyte(1) As Byte outbyte(0) = &HC1

outbyte(1) = &H4 MSComm1.OutBufferCount = 0 MSComm1.Output = outbyte End Sub

Private Sub Timer4_Timer() Dim outbyte(1) As Byte outbyte(0) = &HC1

outbyte(1) = &H8 MSComm1.OutBufferCount = 0 MSComm1.Output = outbyte End Sub

Private Sub Timer5_Timer()

精心整理,用心做精品

- 13 -

电机1反转,向后运动 ’电机2正转,向左转动’电机2反转,向右转动动’

慧鱼四自由度机械手说明书

用心整理的精品word文档,下载即可编辑!!用厂家提供的9针D型插头经由RS232接口电缆和计算机的串行口(COM1或COM)连接。控制端口参数波特率9600位数8校验无停止位1通讯计算机通过串行口与控制接口板通信的格式是两个字节。第一个字节是接口
推荐度:
点击下载文档文档为doc格式
8lwkt60tlb6b8ve00zsa83uyx967u500vb9
领取福利

微信扫码领取福利

微信扫码分享