西门子模块在plc程序设计完成后,为了保证程序的可靠性,通常需要对编制的程序进行一次语法、格式的全面检查。检查应包括如下基本内容:
①程序中一般不应有重复线圈(特殊使用除外);
②程序中一般不应出现只有触点、没有输出的信号:
③如果程序中使用了符号地址,一般不应有未定义符号的变量;
④程序中一般不应有未编程的输出点:
⑤程序中一般不应有未使用的输入点:
⑥程序中一般不应有未调用的逻辑块。
在西门子STEP7中,以上内容均可以通过对所谓“参考数据(ReferenceData)”的显示,进行专门的统计、归纳与汇总。
西门子PLC S7-1200系列紧凑型交换机模块CSM1277是应用在西门子PLCS7-1200的结构紧凑和模块化设计的工业以太网交换机,可以用来增加以太网接口来实现与西门子PLC,西门子触摸屏等其他设备进行通讯。它的特点如下:
1. 紧凑设计,具有坚固的塑料外壳,包含:
(1)用于连接到工业以太网的 4 个 RJ45 插口
(2)用于连接顶部的外部 24 V 直流电源的 3 极插入式端子排
(3)LED,用于工业以太网端口的诊断和状态显示
2. SIMATIC S7-1200 以太网接口的增加可实现编程设备,操作控制,更多以太网节点的附加连接;
3. 具有安全,工业标准的插入式连接
4. 相比于使用外部网络组件,减少了装配成本和安装空间
5. 模块可被替换而不需要编程设备
6. 无风扇因而低维护的设计
7. 应用自检测(autosensing)和交叉自适应(autocrossover)功能实现数据传输速率的自动检测
8. CSM 1277 紧凑型交换机模块是一个非托管交换机,不需要进行组态配置。
9. 强大的诊断功能,下列信息可显示在设备上的 LED。
西门子S7-200支持多种通讯模式,如点点接口(PPI)、多点接口(MPI)、RrofibusDP等。PPI等通讯协议主要用于西门子系列产品之间的通讯以及对plc编程。在自由口模式下,可由用户控制串行通讯接口,实现用户自定义的通讯协议。用户可以用梯形图程序调用接收中断、发送中断、发送指令(XMT)、接受指令(RCV)来控制通信操作。在自由口模式下,通信协议完全由梯形图程序控制。
S7-200CPU上的通信口是与RS-485兼容的9针D型连接器,PLC还提供了实现RS-485与PC机上RS-232C相连接的PC/PPI电缆,利用它可以方便地实现S7-200系列PLC与PC之间的硬件连接。
S7-200的编程软件为STEP7-Micro/WIN32,该软件有STL、FBD和Ladder三种编程模式,有SIMATIC指令和IEC131-3指令两种指令。本文所给出的范例是使用SIMATIC指令的STL编程。
S7-200PLC端的通讯程序实现
PLC程序分为主程序和中断程序。主程序完成初始化通信口、开中断、判断、发送数据等功能,中断程序完成接收和发送数据的功能。接收指令(RCV)启动或终止接收信息功能,必须为接收操作指定开始和结束条件。发送指令(XMT)在自由口模式下依靠通讯口发送数据。
控制字的选取
反映CPU工作方式的模式开关当前位置的特殊存储器位为SM0.7,它控制自由端口模式的进入。当SM0.7为0时,模式开关处于TREM位置;当SM0.7为1时模式开关处于RUN位置。而只有当模式开关位于RUN位置时,才允许进行自由口通讯。SMB30是自由口模式控制字节,用来设定校验方式、通讯协议、波特率等通讯参数(其它控制字的设定参阅有关书籍)。
程序的一些简单介绍
NETWORK1
MOVB16#09,SMB30
//自由口通讯模式:9600波特率,无奇偶校验,8个数据位
MOVB16#7C,SMB87//接收信息状态字节
MOVB16#53,SMB88
//设置信息的开始字符“S”
MOVB16#45,SMB89
//设置信息的结束字符“E”
MOVW+5,SMW90
//设定空闲行的时间间隔(ms)
MOVW+179,SMW92
//字符间/信息间定时器超时值(ms)
MOVB60,SMB94//接收字符的个数
NETWORK2
LDSM0.1MOVB16#53,VB2499
//设置接收和发送缓冲区的首地址
ATCH发送完中断,9
//把发送完成中断和发送完成中断子程序连接起来
ATCH接收完中断,23
//把接收完成中断和接收完成中断子程序连接起来
ENI//允许中断
西门子V和M基本上功能一样,但是V的内存区域大,所以一般用V存放模拟量数值和运算中间量,而M区域一般用数字量的中间继电用。
V区的数据具有断电保护功能,M区的数据断电保护范围需要设置过v区比较大,而且掉电可以保存,其他功能和m差不多
1、V和M没有变质的区别,地位几乎可以互换;
2、V多而M少。M少可以使指令码短,存贮和执行效率提高。
3、M有规定的一些使用,比如MB0-MB13如设为保持的话,在断电时是直接写eeprom的,属型保持,除此之外的保持是临时的由超级电容或电池保持的。
4、V容量大,使用V比使用M指令代码要长,当然时间上也费一些。同样的V区,我发现也有分区的情况,V0-V511是一块,相应的指令代码就比V512以上的要短,但是执行时间上是否有区别,没有考证。所以经常使用的V变量,应放在V511之前,可以缩短指令代码的长度。