企业信息

    浔之漫智控技术(上海)有限公司

  • 10
  • 公司认证: 营业执照已认证
  • 企业性质:外资企业
    成立时间:
  • 公司地址: 上海市 松江区 上海市松江区松江工业区广富林路4855弄星月大业**88栋3楼
  • 姓名: 聂聪
  • 认证: 手机未认证 身份证已认证 微信已绑定

    西门子一级代理商|CPU模块总代理商

  • 所属行业:电气 工控电器 DCS/PLC系统
  • 发布日期:2023-02-07
  • 阅读量:30
  • 价格:面议
  • 产品规格:不限
  • 产品数量:999.00 台
  • 包装说明:不限
  • 发货地址:上海松江  
  • 关键词:西门子中国授权代理商

    西门子一级代理商|CPU模块总代理商详细内容

    cpu寄存器状态字的各位给出了有关指令状态或的信息以及所出现的错误,我们可以将二进制逻辑操作状态位信号状态直接集成到程序中,以控制程序执行的流程。

    2.状态字寄存器

    先简单介绍一下cpu中状态字。

    ●**检查位:状态字的0位称作**检查位,如果/fc位的信号状态为“0”,则表示伴随着下一条逻辑指令,程序中将开始一个新的逻辑串。fc的斜杠表示对fc取反。



            注:快捷菜单中的其它两项:数据类型和变量表。数据类型(UDT)用于*程序中数据元素的大小与格式;变量表(VAT)用来在程序调试和运行时修改和监视变量的内容(在地址栏中输入地址后,符号栏中会自动显示在符号表中定义的符号)。
     
        这几种程序块的功能简要说明如下:
        说明:
        调用程序块:OB,FB,FC(可以调用除OB块外的其它程序块);
        被调用程序块:FB,FC,SFB,SFC。
     
    1、组织块OB
        OB由系统自动调用,并执行用户在OB块中编写的程序,所以OB的基本作用是调用用户程序。
        在OB块中编写程序的较大容量,S7-300是16KB,S7-400是64KB。
        除主程序循环OB1外,其它OB均是由事件触发的中断。
     
    2、函数FC
        函数FC有两个作用:(1)作为子程序用;(2)作为函数用,函数中通常带形参。
        函数中程序的较大容量,S7-300是16KB,S7-400是64KB。
        FC的形参通常也称为接口区,参数类型分为输入参数,输出参数,输入/输出参数和临时数据区。
        在编写函数FC的输出参数时,应避免没有直接输出(否则,可能输出一个随机值,影响程序的判断)。可以在函数的开始,将字输出参数清0,位输出参数复位。
     
    3、函数块FB
        FB与FC相比,FB每次调用都必须分配一个背景数据块,用来存储接口数据区(TEMP类型除外)和运算的中间数据。其它程序可以直接使用背景数据区中的数据。
        FB中程序的较大容量,S7-300是16KB,S7-400是64KB。
        FB的接口区比FC多了一个静态数据区(STAT),用来存储中间变量。
        程序调用FB时,形参不像FC那样必须赋值,可以通过背景数据块直接赋值。
        由于FB带有背景数据块,输出参数不会输出随机值,可以不在FB中编写初始化程序。


    ●逻辑运算结果:状态字的*1位为rlo位(rlo=“逻辑运算结果”),在二进制逻辑运算中用作暂时存储位。比如,一串逻辑指令中的某个指令检查触点的信号状态,并根据布尔逻辑运算规则将检查的结果(状态位)与rlo位进行逻辑门运算,然后逻辑运算结果又存在rlo位中。

    ●状态位:状态位(*2位)用以保存被寻址位的值。状态位总是向扫描指令(a,an,o,…)或写指令(=,s,r,)显示寻址位的状态(对于写指令,保存的寻址位状态是本条写指令执行后的该寻址位的状态)。

    ●or位:在用指令or执行或逻辑操作之前,执行与逻辑操作的时候,就需要用到or这一状态位。or位表示先前执行的与逻辑操作产生的值为“1”,于是,逻辑操作或的执行结果就已被确定为“1”。

    ●ov位:溢出表示算术或比较指令执行时出现了错误。根据所执行的算术或逻辑指令结果对该位进行设置。

    ●os位:溢出存储位是与ov位一起被置位的,而且在更新算术指令之后,它能够保持这种状态,也就是说,它的状态不会由于下一个算术指令的结果而改变。这样,即使是在程序的后面部分,也还**会判断数字区域是否溢出或者指令是否含有无效实数。os位只有通过如下这些命令进行复位:jos(若os=1,则跳转)命令,块调用和块结束命令。

    ●cc1及cc0位:cc1和cc0(条件代码)位给出有关下列的相关信息:

    ·算术指令结果

    ·比较指令结果

    ·字逻辑指令

    ·在移位功能中,移出位相关信息。

    可以用以下指令来检查条件代码cc1和cc0。

    cc1cc0检查完成后,如果:

    00a==0结果=0

    10a>;0结果>;0

    01a<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状态)。22.webp

    示例两个整数相减并需进行连续判断:

    lmw2

    lmw8

    -i

    jzzero//如果结果等于“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.结束语

    在一般情况下,我们不必考虑这些状态位,但在某些情况下,利用这些状态位并结合一定的指令,可以给我们的编程带来大的灵活性,同时对于进一步提高自己的编程水平也有一定的作用。

    在SIEMENS S7-300/400系列PLC中有多种程序块,主要有:组织块(OB),功能块(FB),功能(FC),数据块(DB)及系统功能(SFC)和系统功能块(SFB)等。


    http://shjiqing.cn.b2b168.com
    欢迎来到浔之漫智控技术(上海)有限公司网站, 具体地址是上海市松江区上海市松江区松江工业区广富林路4855弄星月大业**88栋3楼,联系人是聂聪。 主要经营浔之漫智控技术(上海)有限公司经营西门子模块代理商、西门子PLC模块代理商、西门子低压代理商、西门子中国总代理商、西门子四芯工业以太网电缆线等;西门子保内全新产品‘质保一年。一年内因产品质量问题换新产品;不收取任何费。欢迎致电咨询。 。 单位注册资金单位注册资金人民币 100 万元以下。 价格战,是很多行业都有过的恶性竞争,不少厂家为了在价格战役中获胜,不惜以牺牲产品质量为代价,而我们公司坚决杜绝价格战,坚持用优质的原材料及先进的技术确保产品质量,确保消费者的合法利益。