宁德西门子交换机6GK5206-2BD00-2AC2授权代理商
从硬件方面来说,S7-1500PLC的处理速度更快,联网能力更强,诊断能力和安全性更高,不仅可节省成本,提高生产效率,而且安全可靠,维护简单方便,真正成为工厂客户和现场维护人员的控制器。
例如:
相对于S7-300/400,S7-1500 PLC采用新型的背板总线技术,采用高波特率和高传输协议,使其信号处理速度更快;
S7-1500所有CPU集成1-3个PROFINET接口,可实现低成本快速组态现场级通信和公司网络通信,而S7-300/400PLC只有个别型号CPU才集成有PROFINET接口;
S7-1500 PLC的模块集成有诊断功能,诊断级别为通道级,无需进行额外编程,当发生故障时,可快速准确地识别受影响的通道,减少停机时间,这是S7-300/400PLC所不及的。
S7-1500PLC的组态和编程效率更高,信息采集和查看更方便,这也是工程设计人员的福音。由于S7-1500PLC是无缝集成到TIA博途软件中,无论是硬件组态、网络连接和上位组态,还是软件编程,其操作均简单快捷。而S7-300/400PLC专用组态编程软件为经典STEP7,上位组态软件为WinCC,相对于TIA博途软件,某些操作显得繁琐(例如对于各个程序块需要每个单独存盘,当有语法错误时,则无法执行保存操作)。
根据状态位C0和CC1的状态而跳转的跳转功能指令JZ不改变任何状态位的状态,而且逻辑操作结果RLO值也会“随着”该跳转功能带到跳转程序段中,供用户程序其它逻辑操作之用(不改变/FC状态)。
示例 两个整数相减并需进行连续判断:
L MW2
L MW8
-I
JZ ZERO // 如果结果等于“0”,则跳转至标号ZERO处
// 结果不等于“0”时所执行的指令
ZERO: // 结果等于“0”时,所要执行的指令
如果用户不熟悉JZ指令和状态位C0和CC1的具体含义,编程时就需要通过比较指令将比较结果存入一个二进制位中,再根据这个二进制位通过JC/JCN指令来控制程序的执行了。
例3:
我们实际应用中可能要利用某些协议转换网关(比如说Hilscher公司的NTTAP系列网关)来和某些串口协议的仪表进行通信时,会遇到CRC校验的问题,关于CRC校验时需要判断溢出位是否为1的问题来进行程序的进一步计算。我们以EURO2408的MODBUS通信时需要的CRC校验为例说明CRC校验的步骤:
1、装载16#FFFF到一个16位CRC寄存器;
2、将CRC寄存器的高8位字节与信息中的个8位字节相异或,结果返回到CRC寄存器中;
3、将CRC寄存器数据向右移动一位;
4、如果溢出的位等于1,则将CRC寄存器与16#A001相异或,结果返回到CRC寄存器中;
4、如果溢出的位等于0,则重复第3步;
5、重复第3、4步骤,直到已经移位了8次;
6、将CRC寄存器的高8位字节与信息中的下一个8位字节相异或,结果返回到CRC寄存器中;
7、重复第3步到第6步,直到信息中所有字节都与CRC寄存器相异或,并都移位了8次;
8、后的CRC寄存器中的结果即为CRC校验码,后被添加到信息(数据)的末尾(交换!低8位
在前,高8位在后;)
在第4步中需要判断溢出的位是否为1,如何判断对于整个程序有着重要的影响。我们可以用A>0指令来判断这个条件,具体代码的编写,有兴趣时大家可以根据上面的步骤编写一个自己的CRC程序。
4.结束语
在一般情况下,我们不必考虑这些状态位,但在某些情况下,利用这些状态位并结合一定的指令,可以给我们的编程带来更大的灵活性,同时对于进一步提高自己的编程水平也有一定的作用。