- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
球杆系统系统函数S
球杆系统系统函数(S-Function)说明:
Matlab环境下,球杆系统定义了如下几个系统函数。
InitIPM_RAM 、 Get-AD、Get-APos、Move-Abs
InitIPM_RAM
函数功能:
对采集控制卡初始化;
函数实现描述:
定义与上位机通讯的波特率 115200
定义驱动器的轴号 255
定义与上位机通讯方式 RS232
定义与上位机通讯默认端口号 串口 1
初始化驱动器载入驱动器配置文件
使用说明:
1个输入 设置串口号
1个输出 “1” (真值也就是 “Subsystem的一个触发信号,初始化完成后发出信号)
Get-AD
函数功能:
采集AD数据(对于球杆系统为采集小球位置);
函数实现描述:
定义AD采样端口的值、地址、AD端口号等变量对他们赋初始值
IPM100运动控制器有两个10位的模拟量输入端口,AD2和AD5, 该函数中对AD端口号AD_No (系统默认为5)进行判断并读取该端口模拟量的值,并赋给变量val_ad。
再通过读取内存中模拟量输入端口对应地址单元内的值,根据*y =400.00*((float)(unsigned short)val_ad/65535.00)计算出小球的实际位置(单位毫米)。其中400为整个位移传感器的长度(400毫米),65535 (1111 1111 1111 1111)B 为小球位置为400mm时对应的值。
备注:AD转换结果有10位的分辨率,并左移6位。这样AD转换后的值在内存中为16位。
该函数的输入是AD输入通道模拟量经转换后在内存中的值,输出为计算出来的小球的实际位置。
使用说明:
1个输入 :AD端口号
1个输出 :经过换算出来的小球的位置 Y
Get-APos
函数功能:
获取电机编码器位置值(脉冲数)
函数实现描述:
从绝对位置变量地址“adr_APOS = 0x228” 中读取绝对位置的值“i_APOS”并输出
*y=i_APOS
使用说明:
1个输出 :电机编码器脉冲输出值
Move-Abs
函数功能:
绝对运动命令:控制电机运动
函数实现描述:
输入电机的目标位置、目标速度和目标加速度,使电机运动到设定的目标位置
使用说明:
3个输入 :设定运动的速度和加速度及目标位置
Stop
函数功能:
运动停止命令函数
函数实现描述:
读入电机停车的方式(默认 STOP_3 系统以设定的加减速度停车)
使用说明:
一个输入:设定停止模式
Servo on
函数功能:
电机伺服控制
函数实现描述:
读入 TS_Power(Axis_On_Flag) Axis_On_Flag 值 (1或0)根据输入值上伺服或下伺服。
使用说明:
一个输入:设定伺服状态(上伺服或下伺服)
更详细的资料请参考matlab的相关资料及IPM100控制卡的编程说明。
Matlab 实时控制Model建立示例
对于球杆系统,首先要安装VC+6.0,并将其设置为matlab的编译器,安装好VC+6.0之后,运行matlab,输入:mex –setup,按如下界面操作:
通过以上步骤完成编译器设置,即可安装如下界面操作建立model:
1、进入Simulink环境
建立新的model:
拖入常量框:
拖入S-Function并设置参数:
添加子系统:
在子系统中加入模块并删除多余控件
至此完成model界面生成:
设置model参数:
设置完成,并可以运行:
通过子系统的scope可以观测到数据:
更详细的matlab使用说明请参考matlab相关书籍
完成并连线
文档评论(0)