H3U飞拍指令使用总结
注:本总结基于原飞拍说明基础上加测试使用经验。如有补充或者纰漏,欢迎联系更正。
此指令功能需在标准单板软件版本上升级FPGA,FPGA版本为38302205(版本号可以通过D8022查看(32位数据));升级此版本后,脉冲定位功能变为4路,即Y0~Y3支持脉冲定位功能。
指令说明:
DHSTP
概要
高速飞拍比较中断输出指令
DHSTP S1 S2 S3 S4 S5 S6 |
比较输出指令 |
适用机型: |
|
S1 |
比较位置 |
32位指令(13setp) 连续执行 |
|
S2 |
位置间隔/个数 |
||
S3 |
比较对象 |
||
S4 |
比较输出 |
||
S5 |
输出宽度 |
||
S6 |
比较模式 |
操作数
目前使用经验:
-
S1实际使用时并不能使用K、H,
-
S2与S3输入指令时均可使用K、H。S2表中表示不可以使用K、H。但是S3使用常数元件感觉无意义。
-
S6写指令时可以用常数K、H,但是运行时会报错误,不能正常执行。只能用D、R元件。
功能和动作说明:
高速比较中断输出指令,可用于飞拍功能。系统按指令设定的比较位置值依次和比较对象进行比较,比较相等时,由硬件直接控制产生输出,输出延迟小于1us。最大可同时指出4条DHSTP指令。
等间距模式 |
非等间距模式 |
|||
S1:比较位置 |
[S1]:比较起始位置 [S1+2]:比较结束位置 |
[S1]:比较位置1 [S1+2*(n-1)]:比较位置n 共占用2n的元件,n为[S2]设定的比较个数 |
||
S2:位置间隔/个数 |
[S2]:比较间隔 |
[S2]:比较个数n |
||
[S2+2]:已完成的比较个数 |
||||
S3:比较对象 |
[S3]:可设置为高速计数器C235~C255,或者K0~K4对应Y0~Y4高速输出当前位置值D8340/D8360/D8380/D8400/ D8420 |
|||
S4:比较输出 |
[S4]:可设置为高速输出端口Y0~Y7 |
|||
S5:输出宽度 |
[S5]:输出宽度,可根据比较模式设置为时间间隔或脉冲数间隔; 使用时间间隔时,设置时间宽度,单位为0.1ms,最大可设置为50000 使用脉冲数间隔时,设置脉冲个数,仅在比较对象选择为高速计数器时有效 |
|||
S6:比较模式 |
[S6] = 1:等间距模式, 输出宽度为时间间隔 |
[S6] = 3:等间距模式, 输出宽度为脉冲数间隔 |
[S6] = 2:非等间距模式,输出宽度为时间间隔 |
[S6] = 4:非等间距模式, 输出宽度为脉冲数间隔 |
[S6+2]:比较值补偿时间系数,可设置范围0~32767 |
☆使用注意:
1、等间距模式下,[S2]比较间隔大于0时,从[S1]比较起始位置开始,往比较值递增方向比较,直到比较对象值大于[S1+2]比较结束位置;[S2]比较间隔小于0时,从[S1]比较起始位置开始,往比较值递减方向比较,直到比较对象值小于[S1+2]比较结束位置。
2、等间距模式下,可通过设置[S6+2]比较值补偿时间系数,对比较值进行动态补偿。[S6+2]时间单位为us。如设置为1000,表示每隔1000us,系统根据输入脉冲数的变化对比较值进行补偿。设置为0表示无补偿。补偿时间系数一般根据相机响应延迟时间来设置。
3、等间距模式下,比较值补偿时间系数大于0时,比较值和比较对象需大于0,否则可能导致错误比较输出。
4、输出宽度可根据比较模式设置为时间间隔或脉冲数间隔,使用脉冲数间隔时,仅在比较对象选择为高速计数器C235~C255时有效。比较对象为高速输出当前位置时,系统内部会强制为时间间隔模式。
5、比较输出为硬件直接控制端口输出,比较输出的端口状态不更新到Y0~Y7元件(比较重要);如需要判断比较输出是否产生,可通过[S2+2]已完成的比较个数判断,或者将输出反接到输入进行判断。
6、使用FPGA飞拍非标后,系统不支持插补功能、脉冲输出改为4路、不支持PWM和SPD指令。
7、【S2+2】已完成的比较个数,在该指令能流失效后,除非有修改指令,否则仍然保存该值。但在能流有效时,修改该寄存器无效。
8、该指令执行时,S3必须小于等于S1,否则Y不会有输出。
9、在FPGA版本38305206时时间宽度输出虽然面板显示灯亮,但是无效。
等间距模式:
非等间距模式:
转载请注明:燕骏博客 » H3U飞拍非标使用经验
赞赏作者微信赞赏支付宝赞赏