Clippper模拟量输出设置
来源:互联网 发布:迅雷无法连接网络 编辑:程序博客网 时间:2024/05/01 17:47
Clipper的J3(JMACH1)接口是设备接口,共50针。包括:
DAC输出管脚为:
Clipper不能输出真正的模拟量,clipper输出的+-10V的模拟量实际上是PWM经过一个10KHZ的低通滤波器产生的。PWM的占空比控制输出模拟量的幅值,这个转换关系由PMAC自动处理。PWM波的频率决定输出信号的分辨率和扰动幅度,PWM频率越高,输出分辨率越低,扰动也越低。
滤波PWM输出的分辨率和频率均通过I7000控制,改变这个变量还会影响相位和伺服中断。而相位与I7001(phase clock divider)相关,伺服中断与I7002(servo clock divider)和I10(servo interrupt time)相关。因此改变I7000的同时还要改变I7001,I7002,I10的值。这几个变量的具体含义参见《软件参考手册》(2014版)P213,P215,P42。
另外这些变量的值得计算有一个小软件 Dtcalcs2008,直接输入想要设置的频率即可得到各个变量的值。
要输出模拟量,首先要进行下面的设置:
I7000 = 1001 //PWM1-4频率设置为29.4KHZI7001 = 5 //相时钟频率设置为9.8KHZI7002 = 3 //伺服频率2.45kHzI7003 = 1746 //ADC频率I7100 = 1001 //PWM频率29.4kHz, PWM 5-8I7103 = 1746 //ADC频率I7016 = 0 //输出模式: PWM Ixx69 = 1001 ;DAC输出最大10Vdc I10 = 3421867 //伺服中断时间I100=0 //关闭电机I124=$120001 //关闭限位报警等
注:
- I7m00: 第m个伺服芯片(IC)的最大相位频率/PWM频率控制。
range:0-32767
units:
MaxPhase Frequency=117,964.8KHZ/[2*I7m00+3]
PWM Frequency=117,964.8KHZ/[4*I7m00+6]
例如,设置I7000=1001,则
PWM频率=117=117,964.8KHZ/[4*1001+6]=29.41766KHZ - I7m01: 第m个伺服芯片(IC)的相位时钟频率控制
range:0-15
units:Phase Frequency=MaxPhase Frequency/[I7m01+1]
例如,设置I7000=1001,则
最大相位频率=117,964.8KHZ/[2*1001+3]=58.83531KHZ
设置I7001=5,则
相位时钟频率=58.83531KHZ/6=9.805885KHZ - I7m02:第m个伺服芯片(IC)的伺服时钟频率控制
range:0-15
uints:Servo Clock Frequency=Phase Clock Frequency / (I7m02+1)
例如,设置I7m02=3,则
伺服时钟频率=9.805885KHZ/4=2.4576KHZ I7m03:第m个伺服芯片(IC)的硬件时钟控制
range:0-4095
units:单个时钟分频器
I7m03=SCLK+8*PFM_CLK+64*DAC_CLK+512ADC_CLK
其中:
编码SCLK频率=39.3216MHz / (2SCLK)
PFM_CLK 频率= 39.3216MHz / (2PFM_CLK)
DAC_CLK 频率= 39.3216MHz / (2DAC_CLK)
ADC_CLK 频率= 39.3216MHz / (2ADC_CLK)
I10:伺服中断时间
range:0~8388607
units:1/8,388,608 msec- I7mn6:第m个伺服芯片上第n通道输出模式选择
range:0-3
根据上面的设置(I7000=1001,Ixx69=1010),DAC1输出电压与M102的关系是M102=1001对应输出10V,分辨率为1/1001*10V=10mV。
一个简单的程序从J3pin29(DAC1)输出正弦波。
程序代码:
//**************************** 初始化部分open plc1 cleari7000=1001i7001=5i7002=3i7003=1746i7100=1001i7103=1746i7016=0i10=3421867i100=0i124=$120001p1=0m102=0//**************************** 循环部分While (p1 < 3600) m102=1000*sin(p1) p1=p1+1 If (p1 = 3600) disable plc1 EndIfEndWhileenable plc1
M102的地址是:
M102->Y:$078002,8,16,S OUT1A command value; DAC or PWM对应J3接口的pin29,这是一个16位的寄存器,带符号,范围是-32768~32767,设Ixx00=0后,通过改变M102的值即可改变输出模拟量的值。
- Clippper模拟量输出设置
- MyEclipse Console 设置最大量输出
- 模拟量读取
- 模拟量视图
- 开关量和模拟量的区别
- STM32 DAC输出,引脚设置成模拟输入
- 输出模拟
- 输出模拟
- 开关量,数字量,模拟量,离散量,脉冲量区别
- 模拟量信号滤波算法
- 多模拟量输入系统
- AIO 模拟量采集 电路
- struts2中常量设置
- 有源信号 无源信号 模拟量 开关量 解释
- 设置TableViewCell横线偏移量
- 树莓派通过ADC0832采集模拟量
- Modbus读写模拟量寄存器详解
- 西门子S7-200模拟量编程
- POJ - 3020 Antenna Placement 二分图 最小路径覆盖
- 仿百度搜索框支持拼音 输入联想
- 使用Java语言实现,自动生成10个整数(1~100,求出生成数列中的最大值和最小值,不允许使用Arrays类的sort方法
- [HTML5]简单网页本地音乐播放器
- poj Multiplication Puzzle(DP)
- Clippper模拟量输出设置
- C语言入门教程21-预处理指令3-文件包含
- 离散事件模拟-银行管理
- 图论的一些总结
- JavaScript检查手机格式是否错误
- LeetCode 题解(104): N-Queens
- "mkimage" command not found - U-Boot images will not be built
- 帝国cms建站总结
- 织梦字节不够解决方法