西门子6SL3210-5FB10-2UF2参数详细
所以许多部件在实验室做模拟试验时是完好无误的,而一旦到了工业现场却出现种种不正常的现象。这往往是因为忽略了系统设计的整体概念,各个系统与系统之间的不匹配所产生的系统性干扰。它会直接影响到PLC控制精度,使得原本为了提高控制精度而设置的功能,却发挥不了本该提高精度的效果。即理论设计精度与实际得到的效果差距甚远。有时误认为PLC高速计数器质量有问题、编码器有故障、码盘线数还不够多。且没有找到问题的真迹源头在哪里而无从着手,也没有采取有效克服措施或者没有找到有效的克服干扰的方法。
为此我们针对这些在国内电气系统、工业自动化控制系统普遍存在而又常见的有共性的技术问题,专门精心比照分析,研究了许多国外引进的大系统集成项目,自动化控制程度比较高的比较经典的控制系统时。发现有许多是常被我们设计师所忽略的细节,往往认为是“多余”的或者是认为可以“节省”开销的部件,似乎那些接口件去掉可以工作,有些部件当下去掉确实反映不出有无的变化和必要性。尤其是在当前市场竞争白日化,比价竞争为竞标可以选择的不明智压力下。常常是会在做设计时从成本角度考虑被“精简”掉了。从而往往会形成许多国产化系统先天不足后天失调,在现场系统调试时常常卡口。在现场采取应急措施,此时所采取措施常常是不十分完善的治标不治本小仓贴。系统不耐用也就自然的了,反倒使工程日后无形的维护费用变大,似乎和前期项目投入是互不关联的两家之的事。其实质原因问题还是在自身,非常值得我们反思。
我们对那些可“精简多余”接口部件进行分析研究后又在工业现场实地试验后方知,它在构成系统整体集合时存在的必要性,选好对应匹配的接口,是对系统长期稳定运行的可靠**。尤其是精确度要求比较高的机械电气合一的数控项目中尤为重要。
为此我们引进了国际上先进而又成熟的接口技术,吸收消化了许多针对性细节的处理方法。专门设计了半国产化的MHM-02A/B型双高速光栅隔离耦合器接口模块和MHM-06双高速差模信号转换器接口模块,而且分别还有多种输入输出方式组合,可以满足国内外现有各种形式的旋转编码器、光栅尺与各种PLC控制器的要求。它已经在许多PLC数控系统上,尤其是在那些“问题系统”上、和在老系统进行数控改造项目上,实际应用得到了验证。使许多项目控制精度有非常显著提高,使理论设计精度与实际得到的效果完全吻合。的确是“多”而不“余”,着实能解决掉问题,起到事半功倍还不错的效果
一. Step7中的两种时间变量 TIME 和 S5TIME
#TIME格式的时间变量: 占4字节, 本质上是一个interger型变量, 单位ms.
S5#TIME格式的时间变量: 占2字节, 表示成16进制为 W#16# wxyz ,
其中w表示时基: w=0,1,2,3时, 对应的时基依次为10ms, 100ms, 1s,10s
xyz以BCD码格式表示数值: xyz=123就表示123个时基.范围0~999.
二. WinCC中显示和修改 #TIME 格式变量.
新建32位浮点变量, 调整格式选 FloatToUnsignedDWord. 地址选中PLC中#TIME变量地址, 即可!
此时, 浮点变量是以ms为单位的时间值. 如需以s位单位, 线性标定里, 修改量程 使倍数为1000倍.
画面中配置IO文本域, 关联到新建的浮点变量, 即可显示并修改. 内容来自www..cn电气自动化技术网
三. WinCC中显示和修改 #S5#TIME 格式变量值.
新建32位浮点数变量, 调整格式选 FloatToSimaticBCDTime, 地址选中PLC中S5TIME地址, 即可!
此时, 浮点变量是以ms为单位的时间值. 如需以s位单位, 线性标定里, 修改量程 使倍数为1000倍.
画面中配置IO文本域, 关联到新建的浮点变量, 即可正常显示. 经测试, 不把IO文本域的"输出格式"属性
修改为"字符串" (保持缺省的"10进制"格式), 同样可以正确修改.
需要注意的是, 由于S5TIME的限制, 并不能始终精确到10ms. 根据输入的值, WinCC会自动将之整定到对应的时基上. 比如: 输入100.5s时, 已经不能用100ms时基(在范围0-99.9s范围可用), 只能用1s的时基, 所以WinCC将输入整定为100.0s并写入PLC.
四. WinCC中定义变量窗口分析.
上图为WinCC中设置修改S5TIME值的变量定义图,
变量值: 选32位浮点数,4字节, 此处指WinCC中新建的变量为32位浮点型.
调整格式: 选FloatToSimaticBCDTime, 说明此Float变量, 经转化为 SimaticBCDTime(ms为单位)类型后, 与PLC中S5TIME变量相关联.
所谓格式调整, 调整方向为: 变量值--->过程值.
过程值地址选择: 此处指PLC中 S5TIME变量的地址.
线性标定: * "变量值"(WinCC中变量) 与 "过程值"(PLC中变量值并经转化为临时float型) 的线性转化关系,
所谓的上下限, 并不是说要限制不能**限, 仅仅是为了得到"线性因子"和"线性偏移量".
因此, 设定成 [0, 1000] -->[0,1.000] (零点不偏移, 转化因子1000倍),
与设定成 [0, 9990]-->[0,9.990] (也是因子1000), 二者效果是完全相同的!
上面的设置, 显示时的数据流为:
PLC中S5Time变量值 ---> 从SimaticBCDTime到Float的类型转换(以ms为单位的数值) --->Float值(ms为单位)线性转化,即缩小1000倍 ----> 转化赋值给 Tibbbbg2变量(32位浮点型)
写入PLC时数据流方向刚好相反:
Tibbbbg值 ---> 扩大1000倍的线性转化 ---> 转化进行类型转换: 从float到SimaticBCDTime---> 转化得到的S5Time格式, 更新到PLC对应内存.
如何用西门子S7-200PLC计算脉冲宽度
可以用以下的方式计算脉冲宽度。
创建一个脉宽调制子程序
使用PLS脉冲输出功能和PWM功能创建一个20 kHz 脉冲序列。使用菜单“工具> 位置向导”。
选择“配置S7-200 集成的 PTO/PWM 功能”。
然后选择相应的输出用于发出脉冲,生成一个自动脉冲发生器 (如 Q0.0)。
选择 PWM 功能和相应的时基 (微秒时基,时钟周期 50 μs,25 μs 脉宽)。
然后点击“完成”确认创建子程序。
使用指令向导HSC创建高速计数器
使用菜单 工具>指令向导>HSC 打开高速计数器向导。
在向导中选择相应的高速计数器 (如 HSC 1 模式 2),*初始化选项。
关闭向导。
插入子程序或中断到项目中
在子程序SBR_0 中, 分配中断程序 (INT_0) 到事件 1 (I0.0 的下降沿) 。
在中断程序中(INT_0), 拷贝当前计数值 HC1 到双字中 (VD0) 然后重新初始化计数器,复位计数器到0。
硬件连接
连接输出 Q0.0 (脉冲发生器)到高速计数器输入 (例子中是 I0.6 HSC1)。
将要测量的脉冲 (initiator) 连接到启动输入 (I1.1 HSC1) 然后连接到中断输入 (I0.0)。当启动输入使能的时候,20 kHz脉冲开始计数。
处理输入 I1.0 (复位输入 HSC1) 防止信号被使能。
I0.0的每个下降沿到来时,高速计数器 HSC1的计数值都会被读出来,填写到先前定义的存储区(VD0)中,计数器复位0。
通过*的脉冲序列计算脉冲宽度 (计算公式:测量的脉冲数量 x 0.0005 μs)。
系数0.0005 通过脉冲序列 20000 的1/x 算出。