西门子控制单元6SL3040-0PA00-0AA1
S7-200与S7-200之间的以太网通信编程可参考《CP243-1快速入门》《以太网模块技术手册》
1.3 网Modem通信
S7-200与S7-200之间的网Modem通信常用于异地通信,在S7-200与S7-200的本地通信中不常用。
如下图所示:网Modem是通过S7-200CPU的扩展模块EM241调制解调器模块来实现的。在公共网或小交换机的模拟音频系统中,使用线连接EM241上标准的RJ11接口,对EM241进行相应的配置编程即可实现S7-200 CPU之间的数据读取或写入。
网Modem通信(EM241)请参考《S7-200可编程控制器系统手册》第10章创建调制解调模块程序
网Modem通信注意事项请参考《西门子 S7-200?LOGO!?SITOP 参考》V0.95版(更新版)S7-200PLC->通信->网Modem通信(EM241)
EM241与EM241之间的通信编程请参考《EM241快速入门》
1.4 MD720-3 无线通信
MD720-3无线通信也常用于异地通信,在S7-200与S7-200之间的本地通信中不常用。如有需要通信的模块在异地或现场不适宜布线等原因,可考虑采用此通信方式。
西门子6ES7291-8GF23-0XA0
S7-200与S7-200之间通过MD720-3无线通信模块可以实现以下两个功能:
? 终端模式:短消息功能
? OPC模式: 数据交换功能。
*,如下图所示:MD720-3终端模式用于S7-200与S7-200之间互相收发短信。此通信方式不需要OPC中心站,只需要在需要通信的每个S7-200CPU右侧都扩展MD720-3无线通信模块,配置天线﹑西门子PC/PPI串口电缆等硬件,并且在MD720-3模块中插入SIM卡。
终端模式需要的硬件软件配置﹑库指令的下载及编程请参考《S7-200 PLC 通过MD720-3发送短消息》
第二,如下图所示:MD720-3OPC模式用于S7-200与S7-200之间进行数据交换。此通信方式除了配置以上与终端模式相同的硬件之外,还必须配置OPC中心站,即必须使用SINAUTMICRO SC OPC服务器软件和OPC客户机软件。
西门子6ES7291-8GF23-0XA0
OPC模式需要的硬件软件配置请参考《SINAUT MD720-3的GPRS通信》
OPC模式编程的库指令 下载
MD720-3 OPC 模式编程请参考《SINAUT MD720-3功能块编程入门》
更多信息请参考《MD720-3技术手册》
2. 如何选择用于S7-200与S7-200之间的通信方式
针对以上常用的四种通信方式,我们该如何选用S7-200与S7-200之间的通信方式呢?根据现场实际需求及通信模块的使用条件,我们提供以下几种参考:
? 如果需要进行通信的S7-200 CPU集成的通信端口未被占用,S7-200CPU模块都在本地,通信距离不远,且通信速率要求不高,那么可选用网络读写(PPI)通信;
? 如果需要进行通信的S7-200 CPU集成的通信端口已被占用,或通信距离较远甚至达到几千米,或通信速率要求达到Mbits/s,那么可选用以太网通信;
? 如果需要进行通信的S7-200CPU模块分布在相距很远的异地,并且模块之间数据交换量不大,实时行要求不高,我们可考虑选用网Modem通信;
? 如果需要进行通信的S7-200CPU模块相互之间要求有短消息收发或实时性不高的数据交换,并且现场环境不适宜布线,或模块相距很远或分布在异地,且现场环境满足GPRS条件,那么可选用MD720-3无线模式。
当然,选用S7-200与S7-200之间的通信方式不仅仅依据以上条件。我们仍应该考虑模块的使用环境﹑调试﹑维修﹑成本等因素。
一、 常断标志是什么意思?什么情况下可以用常断标志,常断标志位在什么时候接通呢? 1.P_OFF位(常开)在什么情况下都不会导体的,一般用于处理不允许置ON的情况 例如,CNT指令,如果客户不允许在任何情况复位,那么在RESET端传常开的P_OFF 2.实际常闭的P_OFF就等于常开的P_ON 二、请问CP1H的PID运算能不能控制同一个电机的正反转(开关量控制),或者用其它指令可以实现? PID运算后的输出量是个连续的量,哪怕是开关量输出的PID控制,输出的也是占空比,这样是无法直接实现正反转的,您需要再用比较功能来实现正反转,例如,芇ID输出量大于50%时,让电机正传,则反转 三、我考虑的是用PID指令接收4-20mA信号,因为PID需要设定目标值,而我仅需要设定一个目标范围,4-20mA对应该设定目标范围,PID指令将运算结果输出给对应的继电器,不知道PID指令的输出是如何变化的,觉得很头疼;我看了关于PTO指令,但它只能输出给一个继电器,而我需要几个继电器接收脉冲信号。 你可以把这个目标范围经过处理后变成一个点给设定值。PID输出当然是根据比例积分微分运算后给出的,进行的是一个自动的控制,没有固定值,如果你需要固定的输入对应固定的输入的话,直接用定标做就可以,没有必要用PID。TPO指令给一个输出,而一个输出只要功率够可以连多个继电器,但问题就是你说的同一个信号控制的多个继电器,怎么可能有些是高电平有些是低电平,他们的电平肯定是一致的。如果要不一致,就再用其他的plc输出点串到各自回路里分别控制,但关键是什么时候需要哪个继电器ON,什么时候需要哪个继电器OFF,这个逻辑一定要事先自己清楚并写到PLC程序里。 四、请问PID运算的输出是否可以正反转控制?如果可以用什么指令? 一条PID指令只能是正转控制或者反转控制,不能正反转控制,像你这种情况用两条PID指令就可以了 五、该控制方式用于工业热处理炉窑,其主要工作原理为:输入4-20mA信号,4-11mA为一个处理区间(冷却动作),11-13mA为死区(不需要动作),13-20mA为另一个处理区间(加热动作)。当处于加热区间时,13-20mA对应0-100%输出,但此0-100%输出需转换为周期10s的脉冲输出,假设需要4个继电器输出点,随着输入信号的大小,4个继电器需要不同方式工作,信号大时4个都工作,信号比较小时,要求每个继电器间歇式轮换工作;对于冷却区间,则输入信号与输出成反比。不知道使用CP1H该如何编程,谢谢 信号大时4个都工作,信号小时每个继电器间歇式轮换工作,什么时候算信号大,什么时候算信号小?间歇轮换工作具体是以多少时间为间隔轮换的?冷却区间的反比具体是如何比的?加热用正比,冷却用反比,那么就是说不需要用PID控制?冷却的时候是不是用的其他控制设备,输出需要转换成脉冲吗 六、小数和浮点的储存在OMRON的PLC中小数如何储存在DM区中,如十进至的17.625存入DM区中,它是如何存的,小数是如何化为2进制的。 2 浮点数和小数是一个概念吗? 3 我如果用小数进行运算,是否必须用浮点运算指令,还是把小数转为浮点数在进行运算,如何转化呢? 1.是按照浮点数的格式存在连续的两个通道里,也就是用32位的2进制表示一个浮点数,两个通道一共32位(0-31),*高位表示符号,23-30位表示指数,0-22位是尾数。 2.在OMRON的PLC里按照以上格式使用的数据就是浮点数,因为浮点数包含小数部分,如果要用到比较复杂的**的小数计算的,基本都用浮点数 3.复杂的都用浮点数,如果简单的只需要一位或两位小数的,可以考虑把整数放大10倍或100倍计算,结果也能保留小数,但数据本身还是16进制或BCD码的,只是你自己知道*后的一位或两位是小数。这种方法的前提是数据计算时位数要够。 七、程序中间有一条TXD指令,假设发送数据时间为50ms,PLC执行TXD指令应该是小于50ms的吧,请问是等我的数据发送完成之后再执行TXD以后的的指令吗?也就是说50ms以后 TXD的执行是外设服务时间去处理的 实际在程序执行中,TXD的指令执行时间256个字节,例如CP1H只要1.2ms 执行完成后,马上执行下个指令 *后,一个扫描周期的程序执行完成,到达外设服务时间后才发送数据 这个时间就比前面指令执行时间要长,具体要看字节数,一般十几或是几十ms,如果一个扫描周期的外设发送不完,那么下个扫描周期的外设服务时间继续发送 八、1、在CP1H中设定模拟量的量程有6000和12000之分,这个是怎么确定的? 2、在PID运算中,我如果做了一个PIDA的指令,是每次在启动PID时要调整一下,还是第一次调整后(把调整后的参数修改后写入原来的PID里),以后启动时就不要再调整了,以后的动作是一样的 1.6000和12000是分辨率,也就是把输入信号例如4-20ma分成6000份或者12000份。具体设置就是在软件的设置里的内建ADDA这一栏的*上面选择6000或12000,下载下去断电上电就可以了 2.如果系统不经常发生变化,就不需要每次都整定了,直接启动PID控制就可以了 九、脉冲设定用4位8421码来设定,输出用PLS2,PLC读入的是16进制的, 如何转换成10进制,即如果设定是1234个脉冲,则PLS2输出也是 1234个脉冲,而不是4660个脉冲。 PLS2脉冲输出指令,设定的脉冲数、加减速率、目标频率等都是16进制的。 是把PLC读取到的16进制数做为PLS2指令设定的脉冲数吗? 如果输入的“1234”是16进制数,直接把该16进制数做为PLS2 |
1、问:浮点运算有什么样的好处,在运算的结果中他的小点位也是不可以进位的?浮点运算与双精浮点运算有什么样的区别? 答:浮点运算支持带小数点的运算,这就是它的好处,浮点运算每个参与运算的数占了2个通道而双精度浮点运算则占4个通道。 2、CP1H系列中,BCD除得的结果是带有小数点的,如何把小数进位呢。例如/BL(435) #1499664 #1000D70使D70中得到的数值是1500。如何进位呢? 答:可以使用比较余数实现。/BL除法得到的余数存放在D72,D73通道,使用比较指令CMP进行判别,如果需要进位,在D70通道加#1。 3、浮点数的乘法所得的结果是BCD码吗? 答:浮点数指令的运算结果是专用的浮点数格式,可以使用FIX指令把浮点数转化成十六进制,再使用BCD指令把十六进制转换成BCD形式。 4、有符号的二进制运算与无符号的二进制运算有什么区别?符号指的是负号吗?包括小数点吗? 答:带符号的二进制运算中,计算后得到的结果中*高位15位是符号位,如果是1:代表是负数,0:代表是正数 无符号的二进制数据范围是0000-ffff (4位16进制) 0~65535(10进制数)有符号的二进制数据负数范围:8000~ffff(4位16进制) 0~-32768 (10进制数)正数范围:0000~7fff(4位16进制) 0~32768(10进制数) |