西藏西门子PLC代理商
SITOP 电源适用于各种馈电任何。它们可应对安装空间有限和环境条件十分苛刻的情况。这些标准电源还可满足特殊要求。
尺寸***小的电源:24 V/0.375 A 和 0.5 A;
这些小型电源的宽度仅为 22.5 mm,尤其适合为低压控制装置供电。
通用型:24 V/2.5 A, 4 A 和 10 A:
电源带有通用输入,可连接到单相交流系统和直流系统。
DC/DC 转换器:24 V/2 A;
输入范围 38 - 121 VDC,适用于从电池供电的系统和直流系统。
SITOP PSA100E;
该单相电源满足 2.5 - 12 A 的基本工业电流要求,可安装到标准安装导轨上,或直接安装到墙壁上。
扁平设计:24 V/5 A 和 10 A:
可将紧凑型金属外壳安放到安装深度有限的位置,甚至安装到机器支撑框架或铰接框架中。
SITOP PSU300P:24 V/8 A;
具有防护等级为 IP67 的坚固金属外壳,针对无机柜的应用而设计,温度范围 -25 至 +55 °C。其设计形式与 SIMATIC ET200pro PS 相同,但不带用于连通输入电压的***个连接器
不仅是 24 V 电源,还可提供其他输出电压
SITOP 不仅可向 24 V 负载可靠提供***、稳定的电压,而且提供其他负载电压。
SITOP compact:12 V/2 A;
这些薄型电源在整个负载范围内(甚至在空载运行期间)保持低功耗。关于其他功能,请参见 SITOP compact:
SITOP DC/DC:12 V/2.5 A;
DC/DC 转换器具有薄型标准安装导轨外壳,电源电压为 24 V。SITOP DC UPS 也可用于提供 12 V 不间断电源。
SITOP flexi:3 ... 52 V/10 A;
输出可变,应用***。可在 3 和 52 V 之间灵活调节,一个标准电源可提供不同的特殊电压。
SITOP dual:2 x 15 V/3.5 A;
电子电源适合在控制柜上使用。该工业标准导轨安装电源具有两个 15 V 输出。例如,可向电子负载提供 ±15 V 电压。
LOGO!Power:5, 12, 15 V;
具有这些输出电压的小型电源分为两个性能级别。有关其他特点,请参见 LOGO!Power。
SITOP smart:48 V/10 A;
SITOP modular:48 V/ 20 A;
输出电压高,负载电源线可具有较小的线芯截面积
FB1程序
通过上面程序,我们期望实际的运行结果是,如果Set_trig(M100.0)为true则对RS_result(M100.2)进行置位操作,如果Rset_tri(M100.1)为true则对RS_result(M100.2)进行复位操作。程序简单吧,结构也很清晰,清楚地我们一眼就能预知结果。
可结果真的是这样吗?实际测试后发现,当Set_trig(M100.0)为true时,RS_result(M100.2)的输出结果却不为1,即无法实现对RS_result(M100.2)的置位操作,如图3所示。
图3
显然,这与我们实际想要实现的功能不符。根据逻辑分析来看,程序本身似乎没有问题,那么问题出在哪里呢?
让我们发动一下我们的小宇宙来分析一下吧,对于NETWORK1这个简单的不能再简单的语句而言,不可能有错啊,那问题是不是出在FB块的调用部分呢?我们来设想一下:当Set_trig(M100.0)为true时,程序会对RS_result(M100.2)进行了置位操作,但结果却是该变量被复位了。也就是说在执行FB1块时又将RS_result(M100.2)复位了,可是在FB1中的复位条件Rset_tri(M100.1)并不满足啊,为什么在执行FB1块后会将RS_result(M100.2)复位了呢?难道是plc有问题?非也非也这可是德国产品啊,质量没得说。哪问题出在哪呢?
要理解清楚这个问题,我们先要从FB功能块内部参数传递的机制说起。从很多场合我们都可以了解到:FB块区别于FC块主要在于每个FB块都需要一个指定的背景数据块,这个指定的背景数据块用来存放FB块的实际参数。其工作原理是,对于FB块定义的IN类型接口参数,在FB块被调用执行时,将实参传递给背景数据块中形参的对应地址,并用于FB内部的逻辑运算;对于FB块定义的OUT类型接口参数,在FB块被调用执行时将FB内部的逻辑运算结果给出到背景数据块中形参的对应地址,然后再将背景数据块中形参的对应地址的值传递给实参,得到实际的输出结果。
根据FB功能块接口参数传递的机制,我们可以看到在FB块执行过程中,输出Rset_tri(M100.1)的值取决于其对应的形参在背景数据块中的地址DB1.DBX2.0,如图4,而实际的DB1.DBX2.0在执行FB块时一直为false,所以每次执行完FB块后,DB1.DBX2.0将false赋值给Rset_tri(M100.1),所以只要调用了FB1,那么实际得到的Rset_tri(M100.1)的结果即为false,即我们上面实际测试时的结果。
图4
我们可以验证这个结论,即通过修改DB1.DBX2.0的值,可以直接改变输出参数Rset_tri(M100.1)的结果,而不论OB1中是否对Rset_tri(M100.1)进行了置位操作,如图5所示。
图5
既然我们已经分析出问题出现在FB块上,那么这个问题如何解决呢?
我们知道对于FB功能块,除了IN、OUT类型接口参数,还有一个IN_OUT类型接口参数。对于IN_OUT类型的接口参数,在调用执行时首先将实参读入,然后进行逻辑运算,后再将逻辑运算的结果传递给实参进行输出。可见相对于OUT类型接口参数而言,IN_OUT类型接口参数是要先读入实际参数的值,这样就可以保持上面的逻辑运算结果不会因为FB块的调用执行而被修改。
所以我们可以将FB1作如下修改,如图6所示。
图6 FB1
图7 修改后在OB1中调用FB1
修改程序后进行测试,结果与预想的逻辑一致,即可以通过Set_trig(M100.0)、Rset_tri(M100.1)对RS_result(M100.2)进行置位、复位操作,如图8所示
图8
现在我们简单总结一下:FB功能块在调用时,外部实际参数通过输入、输出和输入/输出接口传递给其背景数据块对应的地址。在FB内部,程序直接操作背景数据块地址进行逻辑运算。对于FB功能块的使用我们要特别注意参数传递的规则。这些规则很隐蔽,一般不易引起我们的重视,并且在出现问题时,如果不了解这些规则那就真的是猜的中开头,猜不中结尾,出错成为新常态了。
3、实际物理值与PLC内部数据直接的转换
将PLC读取到的数据转换为实际的物理值,通过以上两步转换就可以得到。在处理时跳过输入信号值大小的转换,可以得到如下关系:
将以上公式变换,则可以得到以下直接转换公式,如下:
通过此公式,就可以直接通过PLC读取到的数据转换为实际的物理量值。
以上即为PLC对模拟量信号的处理过程及方法