西门子贵阳PLC模块总代理
整数是指正整数、负整数和零,如-6、0、32 等。
浮点数是指带有有限位小数的有理数,如-10.8、0.00、25.01 等。
整数既可以是整数,也可以是浮点数,例如255 是整数,而255.0 则是浮点数。
整数运算,得到的结果是一个整数,并且计算结果中的小数部分将被忽略。例如:用整数运算时,100÷3=33。
浮点运算,得到的结果是一个浮点数,计算结果中的小数部分将保留下来。
例如:用浮点运算时,100.0÷3.0=33.33333333。
浮点式:
4.2×10^8=420000000
整数式:
42×1000000=420000000
浮点运算性能可以直观地反映一个cpu的计算能力,注意是“计算能力”
浮点数在计算机中用以近似表示任意某个实数。具体的说,这个实数由一个整数或**数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学记数法。
浮点计算是指浮点数参与的运算,这种运算通常伴随着因为无法精确表示而进行的近似或舍入。
一个浮点数a由两个数m和e来表示:a = m × be。在任意一个这样的系统中,我们选择一个基数b(记数系统的基)和精度p(即使用多少位来存储)。m(即尾数)是形如±d.ddd...ddd的p位数(每一位是一个介于0到b-1之间的整数,包括0和b-1)。如果m的**位是非0整数,m称作规格化的。有一些描述使用一个单独的符号位(s 代表+或者-)来表示正负,这样m必须是正的。e是指数。
这种设计可以在某个固定长度的存储空间内表示**数无法表示的更大范围的数。
例如,一个指数范围为±4的4位十进制浮点数可以用来表示43210,4.321或0.0004321,但是没有足够的精度来表示432.123和43212.3(必须近似为432.1和43210)。当然,实际使用的位数通常远大于4。
此外,浮点数表示法通常还包括一些特别的数值:+∞和?6?1∞(正负无穷大)以及NaN('Not a Number')。无穷大用于数太大而无法表示的时候,NaN则指示非法操作或者无法定义的结果。
大部份计算机采用二进制(b=2)的表示方法。位(bit)是衡量浮点数所需存储空间的单位,通常为32位或64位,分别被叫作单精度和双精度。有一些计算机提供更大的浮点数,例如英特尔公司的浮点运算单元Inbbb8087协处理器(以及其被集成进x86处理器中的后代产品)提供80位长的浮点数,用于存储浮点运算的中间结果。还有一些系统提供128位的浮点数。
编码器是一种将角位移转换成一连串电数字脉冲的旋转式传感器,这些脉冲能用来控制角位移,如果编码器与齿条或螺旋杆结合在一起,也可于控制直线位移。
编码器中角位移的转换采用了光电扫描原理。读数系统是基于径向分度盘的旋转,该分度盘是由交替的透光窗口和不透光窗口构成的。此系统全部用一个红外光源垂直照射,这样光就把盘子和图像投射到表面上,该覆盖着一层光栅,称为准直仪,它具有和光盘相同的窗口。的工作是感受光盘转动所产生的光变化,然后将光变化转换成相应的电变化。
增量型编码器一般给出两种方波,它们的相位差90度,通常称为通道A和通道B。只有一个通道的读数给出与转速有关的信息,与此同时,通过所取得的*二通道信号与**通道信号进行顺序对比的基础上,得到旋转方向的信号。还有一个可利用的信号称为 Z通道或零通道,该通道给出编码器轴的**零位。此信号是一个方波,其相位与A通道在同一中心线上,宽度与A通道相同。
增量型编码器精度取决于机械和电气的因素,这些因素有:光栅分度误差、光盘偏心、轴承偏心、电子读数装置引入的误差以及光学部分的不精确性,误差存在于任何编码器中
下面的实例描述了共享设备的较简单配置:两台IO控制器共享一个IO设备的子模块。两台IO控制器位于同一个STEP 7项目中,优点是一致性检查自动完成。
步骤
为了能够使用共享设备功能,需要在SIMATIC管理器和HW Config中执行某些组态步骤。
准备事项
1.在SIMATIC管理器中创建名称为"共享设备项目"的项目。
2.插入两个站(SIMATIC 300)。
3.在HW Config中打开站,然后组态带PROFINET接口的CPU(在此例中为CPU 319-3 PN/DP)。
4.为刚刚创建的站的PROFINET接口设置参数。
5."保存并编译"各个站。
创建共享的设备
1.在HW Config中打开所创建的其中一个站。
2.如屏幕截图所示,使用几个子模块配置分布式I/O系统ET 200s(IM151-3PN)。
3.使用快捷菜单(鼠标右键)复制刚刚创建的分布式I/O系统。
4.保存硬件配置,然后关闭已配置的站。
5.在HW Config中打开早先创建的其它站。
6.若要将分布式I/O系统作为共享设备插入,右击PROFINET线路。在快捷菜单中选择"粘贴共享"命令。
7.保存硬件配置,然后关闭已配置的站。
已经成功创建了共享设备;现在设置将子模块分配给已配置的站。
分配子模块
必须单独为每个站分配子模块。请牢记对站的更改也将影响其它站!只能将子模块分配给一个站!
1.打开*1个站中分布式I/O系统的属性对话框。
2.跳转到"访问"选项卡。
3.组态对各个子模块的访问。从"数值"列的下拉列表中选择访问的类型。可以在以下两者之间选择:
.不访问子模块:"- - -"
.完全访问子模块:"完全"
4.请注意:设置"完全"自动会导致其它站的设置为"- - -";另一方面,设置"- - -"并不会自动地导致其它站的设置为"完全"。
5.保存并关闭站。
6.对*2个站重复步骤1-4。
7.然后将组态下载至站。
用户程序中的共享设备
共享设备在用户程序中不充当特殊角色。如平常一样对站中分配的子模块进行寻址,其它子模块不接收地址
在开始PID自整定调整前,整个PID控制回路必须工作在相对稳定的状态。
稳定的PID是指过程变量接近设定值,输出不会不规则的变化,且回路的输出值在控制范围中心附近变化。
问题与解决方法:
1.PID输出总是输出很大的值,并在这一区间内调节变化
产生原因:
.增益(Gain)值太高
.PID扫描时间(sample time)太长(对于快速响应PID的回路)
解决方法:降低增益(Gain)值并且/或选择短一些的扫描时间
2.过程变量**过设定值很多(**调很大)
产生原因:积分时间(Integral time)可能太高
解决方法:降低积分时间
3.得到一个非常不稳定的PID
产生原因:
.如果用了微分,可能是微分参数有问题
.没有微分,可能是增益(Gain)值太高
解决方法:
.调整微分参数到0-1的范围内
.根据回路调节特性将增益值降低,较低可从0.x 开始逐渐增大往上调,直到获得稳定的PID