上海署晓自动化科技有限公司
专销售西门子各系列产品;西门子PLC;S7-200S7-300 S7-400 S7-1200 触摸屏,变频器,6FC,6SNS120V10 V60 V80伺服数控备件:原装进口电机,电线,电缆。
西门子全新原装现货PLC;S7-200S7-300 S7-400 S7-1200 触摸屏,变频器,6FC,6SNS120 V10V60V80伺服数控备件:原装进口电机(1LA7、1LG4、1LA9、1LE1),国产电机(1LG0,1LE0)大型电机(1LA8,1LA4,1PQ8)伺服电机(1PH,1PM,1FT,1FK,1FS)西门子保内全新原装产品‘质保一年。一年内因产品质量问题免费更换新产品;不收取任何费。
实体公司,诚信经营,价格优势,品质保证,库存量大,现货供应!!
采购西门子产品就选;上海署晓自动化科技有限公司
我们承诺七天内无理由退换!
西门子代理商,西门子一级代理商,上海西门子代理商,中国西门子总代理,西门子PLC代理商,西门子变频器代理商,西门子触摸屏代理商
6ES7513-1FM03-0AB0技术参数
在较短距离通讯环境下,可从MPI端或RS232端用一对一的方式焊接延长使用。
a、延长RS485端的距离:
b、延长 RS232 端的距离:
在 PC/MPI 适配器的 RS232 口和 PC 的 RS232 口上安装RS232光隔离长线收发器成对延长距离。
S7-200编程电缆自制比较简单,成本远比**的便宜,但建议你还是使用西门子**的编程电缆
**西门子S7-200编程电缆的优点:
安全:西门子**PC/PPI电缆的两个通信端口在电气上是隔离的。这就意味着编程计算机和PLC通信口之间的共模干扰不会造成双方通信口硬件的损坏,或者通信断续。在**带电拔插电缆的情况下,**电缆提供了**的**
稳定:**电缆针对西门子的通信协议进行了专门设计、优化,其稳定性和抗干扰能力出色
高速:使用**电缆可以工作在187.5K通信速率下,充分发挥PLC和HMI通信口的潜力,不会制约整个网络的通信速度
完备:**智能多主站电缆能够完全支持西门子的PPI网络协议,如多主站通信功能,配合西门子的软、硬件使用,不会发生编程、监控时在某些情况下无法通信的问题
目前市面上可以作为编程电缆非常多,或多或少都有一定的问题,大家在购买的时候可以参考上面的理由。
Siemens**电缆有2种:
RS-232/PPI电缆(订货号6ES7 901-3CB30-0XA0):智能多主站电缆,连接S7-200CPU/EM277通信口和计算机RS-232串口,作为编程或数据通信电缆;也可以用于连接TP170 micro和安装了WinCCflexible (micro)的计算机RS-232串口,作为配置画面下载电缆
USB/PPI电缆(订货号6ES7 901-3DB30-0XA0):智能多主站电缆,用于连接计算机的USB通信口与S7-200CPU/EM277通信口做编程或数据通信电缆
1.引言
CPU寄存器状态字的各位给出了有关指令状态或的信息以及所出现的错误,我们可以将二进制逻辑操作状态位信号状态直接集成到程序中,以控制程序执行的流程。
2.状态字寄存器
先简单介绍一下CPU中状态字。
● **检查位:状态字的0位称作**检查位,如果/FC位的信号状态为“0”,则表示伴随着下一条逻辑指令,程序中将开始一个新的逻辑串。FC的斜杠表示对FC取反。
● 逻辑运算结果:状态字的第1位为RLO 位(RLO=“逻辑运算结果”),在二进制逻辑运算中用作暂时存储位。比如,一串逻辑指令中的某个指令检查触点的信号状态,并根据布尔逻辑运算规则将检查的结果(状态位)与RLO位进行逻辑门运算,逻辑运算结果又存在RLO位中。
●状态位:状态位(第2位)用以保存被寻址位的值。状态位总是向扫描指令(A,AN,O,…)或写指令(=,S,R,)显示寻址位的状态(对于写指令,保存的寻址位状态是本条写指令执行后的该寻址位的状态)。
●OR位:在用指令OR执行或逻辑操作之前,执行与逻辑操作的时候,就需要用到OR这一状态位。OR位表示先前执行的与逻辑操作产生的值为“1”,于是,逻辑操作或的执行结果就已被确定为“1”。字串2
● OV位:溢出表示算术或比较指令执行时出现了错误。根据所执行的算术或逻辑指令结果对该位进行设置。
●OS位:溢出存储位是与OV位一起被置位的,在更新算术指令之后,它能够保持这种状态,也就是说,它的状态不会由于下一个算术指令的结果而改变。这样,是在程序的后面部分,也还**会判断数字区域是否溢出或者指令是否含有无效实数。OS位只有通过如下这些命令进行复位:JOS(若OS= 1,则跳转)命令,块调用和块结束命令。
● CC1及CC0位:CC1和CC0(条件代码)位给出有关下列的相关信息:
• 算术指令结果
• 比较指令结果
• 字逻辑指令
• 在移位功能中,移出位相关信息。
可以用以下指令来检查条件代码CC1和CC0。
CC1 CC0 检查完成后,如果:
0 0 A == 0 结果 =0
1 0 A > 0 结果 > 0
0 1 A < 0 结果 < 0
● BR位:状态字的第8位称为二进制结果位。它将字处理程序与位处理联系起来,在一段既有位操
作又有字操作的程序中,用于表示字逻辑是否正确。将BR位加入程序后,无论字操作结果如何,都不会造成二进制逻辑链中断。在梯形图的方块指令中,BR位与ENO位有对应关系,用于表明方块指令是否被正确执行:如果执行出现了错误,BR位为0,ENO位也为0;如果功能被正确执行,BR位为1,
ENO位也为1。在用户编写的FB/FC程序中,应该对BR位进行管理,功能块正确执行后,使BR位为1,否则使其为0。使用SAVE指令将RLO存入BR中,从而达到管理BR位目的。
状态字的9-15位未使用。
3.具体使用
下面我们结合STEP7中的指针编程来具体介绍条件码CC0/CC0的用法。
不同的指令在CPU中执行时间是不同的。浮点数比**数执行时间要长;字逻辑指令比位逻辑指令执行时间要长;在某些程序中适当使用状态字来进行编程可以减少CPU程序的执行时间。
例1:比如说要比较一个DB中块的DBBO-DBB99这100个字节是正数是负数还是0,正数用1来表示;负数用-1来表示;0用0来表示。并且将对应结果存入MB200开始的100个字节中。我们通常的做法可能为:
如果利用条件码来进行编程,既可以减少程序的大小还会减少一定的指令执行时间,我们只需要将中间的比较程序加以优化,即可以达到目的。
例2:根据状态位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程序