十二 11

    西门子工业解决方案和服务集团为巴基斯坦舍库普拉柴油发电站装备自动化和电力供应系统。该合同总价值数百万欧元,由德国奥格斯堡MANDieselSE公司授予。该柴油发电站可生产225MW电力,预定在2009年3月投入运行。 Continue reading »

written by admin \\ tags: , , , , ,

26

作为新一代智能逻辑控制器,LOGO! 0BA6 设备系列具备以下新特点:

  • LOGO! TD(文本显示)提供了附加消息显示设备,包含四个光标键和四个功能键,可以用于电路编程。
  • 新的LOGO! 电池卡和LOGO! 存储器电池卡为实时时钟提供了长达两年的备用电池。新的LOGO! 存储卡和存储器电池卡拥有32 Kb 的存储空间:比LOGO! 0BA5 存储卡的大四倍。
  • 附加可选模拟量输入和快速数字量输入可用于某些LOGO! 0BA6 基本模块。
  • LOGO! 0BA6 菜单支持九种显示语言。可以通过配置确定LOGO! 菜单的语言。
  • 提供了新的指令块:脉宽调制(PWM)、模拟量计算及模拟量计算出错检测。
  • 消息文本可以标记显示,可以包含棒图,可以在两种字符集之间切换,还可以在 LOGO! 显示屏、LOGO! TD 或这两者上显示。使用LOGO!Soft Comfort 可以实现全部编辑功能;LOGO! 基本模块上编辑仅限于简单文本。
  • 支持PC 和LOGO! 0BA6 基本模块之间的调制解调器接口,可以使用LOGO!Soft Comfort 进行配置。LOGO! 0BA6 支持下列调制解调器:
    • – INSYS 调制解调器336 4 1
    • – INSYS 调制解调器56K 小型INT 2.0

    LOGO! 0BA6 也支持其它类型的调制解调器,但是要求RS232 接口引脚1 提供5 mA 电流到PC 电缆。

  • LOGO! 基本模块之间提供了USB PC 电缆。
  • 该系列产品支持AM2 AQ 模拟输出的0/4–20 mA,将在LOGO! 0BA6 基本模块之后发布。
  • 提供200 个用于创建电路程序的程序块。

 

和以前的模块系列(0BA0 到0BA5)相比,LOGO! 0BA6具备以下优势:

  • 扩展了功能块的参考参数组。
  • 增强了增/减计数器、小时计数器、年计时器和模拟量看门狗的指令块
  • LOGO! 0BA6 对以前设备也具有兼容性。

written by admin \\ tags: ,

13

摘要;文中分析了电梯的负载特性,阐述了采用梯形加速曲线的电梯理想速度曲线,结合变频器和PLC的性能,论述了电梯控制系统的构成和工作特性。阐述了电梯速度曲线产生的方法,归纳了由PLC构成的控制系统软件设计的特点。
关键词:负载特性  理想速度曲线  控制系统  软件设计
1.概述
随着城市建设的不断发展,高层建筑不断增多,电梯在国民经济和生活中有着广泛的应用。电梯作为高层建筑中垂直运行的交通工具已与人们的日常生活密不可分。实际上电梯是根据外部呼叫信号以及自身控制规律等运行的,而呼叫是随机的,电梯实际上是一个人机交互式的控制系统,单纯用顺序控制或逻辑控制是不能满足控制要求的,因此,电梯控制系统采用随机逻辑方式控制。目前电梯的控制普遍采用了两种方式,一是采用微机作为信号控制单元,完成电梯信号的采集、运行状态和功能的设定,实现电梯的自动调度和集选运行功能,拖动控制则由变频器来完成;第二种控制方式用可编程控制器(PLC)取代微机实现信号集选控制。从控制方式和性能上来说,这两种方法并没有太大的区别。国内厂家大多选择第二种方式,其原因在于生产规模较小,自己设计和制造微机控制装置成本较高;而PLC可靠性高,程序设计方便灵活,抗干扰能力强、运行稳定可靠等特点,所以现在的电梯控制系统广泛采用可编程控制器来实现。
2.电梯理想运行曲线
根据大量的研究和实验表明,人可接受的最大加速度为am≤1.5m/s2, 加速度变化率ρm≤3m/s3,电梯的理想运行曲线按加速度可划分为三角形、梯形和正弦波形,由于正弦波形加速度曲线实现较为困难,而三角形曲线最大加速度和在启动及制动段的转折点处的加速度变化率均大于梯形曲线,即+ρm跳变到-ρm或由-ρm跳变到+ρm的加速度变化率,故很少采用,因梯形曲线容易实现并且有良好加速度变化率频繁指标,故被广泛采用,采用梯形加速度曲线电梯的理想运行曲线如图1所示:
智能变频器是为电梯的灵活调速、控制及高精度平层等要求而专门设计的电梯专用变频器,可配用通用的三相异步电动机,并具有智能化软件、标准接口、菜单提示、输入电梯曲线及其它关键参数等功能。其具有调试方便快捷,而且能自动实现单多层功能,并具有自动优化减速曲线的功能,由其组成的调速系统的爬行时间少,平层距离短,不论是双绕组电动机,还是单绕组电动机均可适用,其最高设计速度可达4m/s,其独特的电脑监控软件,可选择串行接口实现输入/输出信号的无触点控制。
变频器构成的电梯系统,当变频器接收到控制器发出的呼梯方向信号,变频器依据设定的速度及加速度值,启动电动机,达到最大速度后,匀速运行,在到达目的层的减速点时,控制器发出切断高速度信号,变频器以设定的减速度将最大速度减至爬行速度,在减速运行过程中,变频器的能够自动计算出减速点到平层点之间的距离,并计算出优化曲线,从而能够按优化曲线运行,使低速爬行时间缩短至0.3s,在电梯的平层过程中变频器通过调整平层速度或制动斜坡来调整平层精度。即当电梯停得太早时,变频器增大低速度值或减少制动斜坡值,反之则减少低速度值或增大制动斜坡值,在电梯到距平层位置4—10cm时,有平层开关自动断开低速信号,系统按优化曲线实现高精度的平层,从而达到平层的准确可靠。
3.电梯速度曲线
电梯运行的舒适性取决于其运行过程中加速度a和加速度变化率p的大小,过大的加速度或加速度变化率会造成乘客的不适感。同时,为保证电梯的运行效率,a、p的值不宜过小。能保证a、p最佳取值的电梯运行曲线称为电梯的理想运行曲线。电梯运行的理想曲线应是抛物线-直线综合速度曲线,即电梯的加、减过程由抛物线和直线构成。电梯给定曲线是否理想,直接影响实际的运行曲线。
3.1速度曲线产生方法
采用的FX2-64MR PLC,并考虑输入输出点要求增加了FX-8EYT、FX-16EYR、FX-8EYR三个扩展模块和FX2-40AW双绞线通信适配器,FX2-40AW用于系统串行通信。利用PLC扩展功能模块D/A模块实现速度理想曲线输出,事先将数字化的理想速度曲线存入PLC寄存器,程序运行时,通过查表方式写入D/A,由D/A转换成模拟量后将速度理想曲线输出。
3.2加速给定曲线的产生
8位D/A输出0~5V/0~10V,对应数字值为16进制数00~FF,共255级。若电梯加速时间在2.5~3秒之间。按保守值计算,电梯加速过程中每次查表的时间间隔不宜超过10ms。
由于电梯逻辑控制部分程序最大,而PLC运行采用周期扫描机制,因而采用通常的查表方法,每次查表的指令时间间隔过长,不能满足给定曲线的精度要求。在PLC运行过程中,其CPU与各设备之间的信息交换、用户程序的执行、信号采集、控制量的输出等操作都是按照固定的顺序以循环扫描的方式进行的,每个循环都要对所有功能进行查询、判断和操作。这种顺序和格式不能人为改变。通常一个扫描周期,基本要完成六个步骤的工作,包括运行监视、与编程器交换信息、与数字处理器交换信息、与通讯处理器交换信息、执行用户程序和输入输出接口服务等。在一个周期内,CPU对整个用户程序只执行一遍。这种机制有其方便的一面,但实时性差。过长的扫描时间,直接影响系统对信号响应的效果,在保证控制功能的前提下,最大限度地缩短CPU的周期扫描时间是一个很复杂的问题。一般只能从用户程序执行时间最短采取方法。电梯逻辑控制部分的程序扫描时间已超过10ms,尽管采取了一些减少程序扫描时间的办法,但仍无法将扫描时间降到10ms以下。同时,制动段曲线采用按距离原则,每段距离到的响应时间也不宜超过10ms。为满足系统的实时性要求,在速度曲线的产生方式中,采用中断方法,从而有效地克服了PLC扫描机制的限制。
起动加速运行由定周期中断服务程序完成。这种中断不能由程序进行开关,一旦设定,就一直按设定时间间隔循环中断,所以,起动运行条件需放在中断服务程序中,在不满足运行条件时,中断即返回。
3.3减速制动曲线的产生
为保证制动过程的完成,需在主程序中进行制动条件判断和减速点确定。在减速点确定之前,电梯一直处于加速或稳速运行过程中。加速过程由固定周期中断完成,加速到对应模式的最大值之后,加速程序运行条件不再满足,每次中断后,不再执行加速程序,直接从中断返回。电梯以对应模式的最大值运行,在该模式减速点到后,产生高速计数中断,执行减速服务程序。在该中断服务程序中修改计数器设定值的条件,保证下次中断执行。
在PLC的内部寄存器中,减速曲线表的数值由大到小排列,每次中断都执行一次“表指针加1”操作,则下一次中断的查表值将小于本次中断的查表值。门区和平层区的判断均由外部信号给出,以保证减速过程的可靠性。
4.电梯控制系统
4.1电梯控制系统特性
在电梯运行曲线中的启动段是关系到电梯运行舒适感指标的主要环节,而舒适感又与加速度直接相关,根据控制理论,要使某个量按预定规律变化必须对其进行直接控制,对于电梯控制系统来说,要使加速度按理想曲线变化就必须采用加速度反馈,根据电动机的力矩方程式:M—MZ=ΔM=J(dn/dt),可见加速度的变化率反映了系统动态转距的变化,控制加速度就控制系统的动态转距ΔM=M—MZ。故在此段采用加速度的时间控制原则,当启动上升段速度达到稳态值的90%时,将系统由加速度控制切换到速度控制,因为在稳速段,速度为恒值控制波动较小,加速度变化不大,且采用速度闭环控制可以使稳态速度保持一定的精度,为制动段的精确平层创造条件。在系统的速度上升段和稳速段虽都采用PI调节器控制,但两段的PI参数是不同的,以提高系统的动态响应指标。
在系统的制动段,即要对减速度进行必要的控制,以保证舒适感,又要严格地按电梯运行的速度和距离的关系来控制,以保证平层的精度。在系统的转速降至120r/min之前,为了使两者得到兼顾,采取以加速度对时间控制为主,同时根据在每一制动距离上实际转速与理论转速的偏差来修正加速度给定曲线的方法。例如在距离平层点的某一距离L处,速度应降为 Vm/s,而实际转速高为V′m/s,则说明所加的制动转距不够,因此计算出此处的给定减速度值-ag后,使其再加上一个负偏差ε,即使此处的减速度给定值修正为-(ag+ε)使给定减速度与实际速度负偏差加大,从而加大了制动转距,使速度很快降到标准值,当电动机的转速降到120r/min 以后,此时轿厢距平层只有十几厘米,电梯的运行速度很低,为防止未到平层区就停车的现象出现,以使电梯能较快地进入平层区,在此段采用比例调节,并采用时间优化控制,以保证电梯准确及时地进入平层区,以达到准确可靠平层。
4.2电梯控制构成
由于电梯的运行是根据楼层和轿厢的呼叫信号、行程信号进行控制,而楼层和轿厢的呼叫是随机的,因此,系统控制采用随机逻辑控制。即在以顺序逻辑控制实现电梯的基本控制要求的基础上,根据随机的输入信号,以及电梯的相应状态适时的控制电梯的运行。另外,轿厢的位置是由脉冲编码器的脉冲数确定,并送PLC的计数器来进行控制。同时,每层楼设置一个接近开关用于检测系统的楼层信号。
为便于观察,对电梯的运行方向以及电梯所在的楼层进行显示,采用LED和发光管显示,而对楼层和轿厢的呼叫信号以指示灯显示(开关上带有指示灯)。
为了提高电梯的运行效率和平层的精度,系统要求PLC能对轿厢的加、减速以及制动进行有效的控制。根据轿厢的实际位置以及交流调速系统的控制算法来实现。为了电梯的运行安全,系统应设置可靠的故障保护和相应的显示。采用PLC实现的电梯控制系统由以下几个主要部分构成。  
4.2.1PLC控制电路;PLC接收来自操纵盘和每层呼梯的召唤信号、轿厢和门系统的功能信号以及井道和变频器的状态信号,经程序判断与运算实现电梯的集选控制。PLC在输出显示和监控信号的同时,向变频器发出运行方向、启动、加/减速运行和制动停梯等信号。
     4.2.2电流、速度双闭环电路;变频器本身设有电流检测装置,由此构成电流闭环;通过和电机同轴联接的旋转编码器,产生a、b两相脉冲进入变频器,在确认方向的同时,利用脉冲计数构成速度闭环。 
4.2.3位移控制电路;电梯作为一种载人工具,在位势负载状态下,除要求安全可靠外,还要求运行平稳,乘坐舒适,停靠准确。采用变频调速双环控制可基本满足要求,利用现有旋转编码器构成速度环的同时,通过变频器的PG卡输出与电机速度及电梯位移成比例的脉冲数,将其引入PLC的高速计数输入端口,通过累计脉冲数,经式(1)计算出脉冲当量,由此确定电梯位置。电梯位移
      h=SI
    式中I—累计脉冲数;
        S—脉冲当量;
        S = plD / (pr)         (1)
l—减速比;
D—牵引轮直径;
P—旋转编码器每转对应的脉冲数;
r—PG卡分频比。
4.2.4端站保护;当电梯定向上行时,上行方向继电器、快车辅助接触器、快车运行接触器、门锁继电器、上行接触器均得电吸合,抱闸打开,电梯上行。当轿厢碰到上强迫换速开关时,PLC内部锁存继电器得电吸合,定时器Tim10、Tim11开始定时,其定时的时间长短可视端站层距和梯速设定。上强迫换速开关动作后,电梯由快车运行转为慢车运行,正常情况下,上行平层时电梯应停车。如果轿厢未停而继续上行,当Tim10设定值减到零时,其常闭点断开,慢车接触器和上行接触器失电,电梯停止运行。在骄厢碰到上强迫换速开关后,由于某些原因电梯未能转为慢车运行,及快车运行接触器未能释放,当Tim11 设定值减到零时,其常闭点断开,快车运行接触器和上行接触器均失电,电梯停止运行。因此,不管是慢车运行还是快车运行,只要上强迫换速开关发出信号,不论端站其他保护开关是否动作,借助Tim10和Tim11均能使电梯停止运行,从而使电梯端站保护更加可靠。
     当电梯需要下行,只要有了选梯指令,下行方向继电器得电其常开点闭合,锁存继电器被复位,Tim10和Tim11均失电,其常闭点闭合为电梯正常下行做好了准备。下端站的保护原理与上端站保护类似不再重复。
4.2.5楼层计数;楼层计数采用相对计数方式。运行前通过自学习方式,测出相应楼层高度脉冲数,对应17层电梯分别存入16个内存单元DM06~DM21。楼层计数器(CNT46)为一双向计数器,当到达各层的楼层计数点时,根据运行方向进行加1或减1计数。
运行中,高速计数器累计值实时与楼层计数点对应的脉冲数进行比较,相等时发出楼层计数信号,上行加1,下行减1。为防止计数器在计数脉冲高电平期间重复计数,采用楼层计数信号上沿触发楼层计数器。 
4.2.6快速换速;当高速计数器值与快速换速点对应的脉冲数相等时,若电梯处于快速运行且本层有选层信号,发快速换速信号。若电梯中速运行或虽快速运行但本层无选层信号,则不发换速信号。
4.2.7门区信号;当高速计数器CNT47数值在门区所对应脉冲数范围内时,发门区信号。 
4.2.8脉冲信号故障检测;脉冲信号的准确采集和传输在系统中显得尤为重要,为检测旋转编码器和脉冲传输电路故障,设计了有无脉冲信号和错漏脉冲检测电路,通过实时检测确保系统正常运行。为消除脉冲计数累计误差,在基站设置复位开关,接入PLC高速计数器CNT47的复位端。
5.软件设计特点
5.1采用优先级队列
根据电梯所处的位置和运行方向,在编程中,采用了四个优先级队列,即上行优先级队列、上行次优先级队列、下行优先级队列、下行次优先级队列。其中,上行优先级队列为电梯向上运行时,在电梯所处位置以上楼层所发出的向上运行的呼叫信号,该呼叫信号所对应的楼层所具有的脉冲数存放的寄存器所构成的阵列。上行次优先级队列为电梯向上运行时,在电梯所处位置以下楼层所发出的向上运行的呼叫信号,该呼叫信号所对应的楼层所具有的脉冲数存放的寄存器所构成的队列。控制系统在电梯运行中实时排列的四个优先级陈列,为实现随机逻辑控制提供了基础。
5.2采用先进先出队列
根据电梯的运行方向,将同向的优先级队列中的非零单元(有呼叫时此单元为七零单元,无呼叫时则此单元为零)送入寄存器队列(先进先出队列FIFO),利用先进先出读出指令SFRDP指令,将FIFO第一个单元中的数据送入比较寄存器。
5.3采用随机逻辑控制
当电梯以某一运行方向接近某楼层的减速位置时,判别该楼层是否有同向的呼叫信号(上行呼叫标志寄存器、下行呼叫标志寄存器、有呼叫请求时,相应寄存器为l,否则为0),如有,将相应的寄存器的脉冲数与比较寄存器进行比较,如相同,则在该楼层减速停车:如果不相同,则将该寄存器数据送入比较寄存器,并将原比较寄存器数据保存,执行该楼层的减速停车。该动作完毕后,将被保存的数据重新送入比较寄存器,以实现随机逻辑控制。
5.4采用软件显示
系统利用行程判断楼层,并转化成BCD码输出,通过硬件接口电路以LED显示。
5.5对变频器的控制
PLC根据随机逻辑控制的要求,可向变频器发出正向运行、反向运行、减速以及制动信号,再由变频器根据一定的控制规律和控制算法来控制电机。同时,当系统出现故障时,PLC向变频器发出信号。
5.结束语
采用MIC340电梯专用变频器构成的电梯控制系统,可实现电梯控制的智能化,但由于候梯和电梯轿内的人到达各层的人数是智能电梯无法确定的,即使采用AITP人工智能系统,传输的交通客流信息也是模糊的,为解决电梯这一垂直交通控制系统的两大不可知因素,需要我们在今后的工作中去不断的研究和探索

written by admin \\ tags: ,

12

 

覆盖或删除口令保护的LOGO!程序的方法取决于所用LOGO!的类型

  • 如果使用OBA3类的LOGO!,该程序在菜单项“Clear Prg”中经“OK”确认就已经被删除了,无须输入口令。
  • 如果使用OBA4类的LOGO!,在菜单项“Clear Prg”中输入正确的口令并经“OK”确认后该程序即被删除。
  • 如果使用OBA4类的LOGO!,但已不知道正确的口令,输入3次错误的口令并且每次都经“OK”确认,仍然可删除该程序。< /li>

不管是否使用LOGO!类产品,通过传输新程序从PC可随时覆盖该程序。  

以下过程为如何进入LOGO!菜单项“Clear Prg”:

  • 切换到“Assign Parameters”模式(按下ESC键)。
  • 将光标置于“STOP”并经“OK”确认。
  • 选择“YES”并经“OK”确认。
  • 将光标置于“Program”并经“OK”确认。
  • 选择“Clear Prg”并经“OK”确认。

written by admin

11

模拟量模板EM235的输入电阻是多少? 
  输入电阻的大小和您所选择的输入类型有关,如果您选择电压输入,这样输入阻抗不小10兆欧;如果选择电流输入则输入抗为250欧姆 

在应用EM231RTD模块的时候其测量值代表什么含义? 
  当您应用EM231RTD模块的时候,将其测量值除以10.0就是实际的温度值。模块本身能够测量的范围是-3276.8到3276.7摄氏度,但实际测量值的范围取决于传感器的测量范围和实际温度。 
 

什么环境下可以编辑中文TD200? 
建议采用STEP 7-Micro/WIN 32 V3.1 SP1中文版 
 

EM235的量程问题: 
通过调整电位计及DIP开关可以改变EM235的量程为:
0-10V;0-5V
0-1V;0-500mV
0-100mV; 0-50mV
±10V; ±5V; ±2.5V
±1V ±500mV; ±250Mv
±100mV; ±50mV; ±250mV
0- 20mA 

在什么环境下可以编辑中文TD200? 
  建议采用STEP 7-Micro/WIN 32 V3.1 SPI中文版 

什么是AC/DC/RLY? 
  这是S7-200CPU的型号
  AC/DC/RLY对应:交流220供电,24V DC输入,继电器输出
  另外的一类型号是:DC/DC/DC
  DC/DC/DC对应:直流24V供电,24V DC输入,晶体管输出 

开关量输入需要供电吗? 
  开关量的输入端需要供电,S7-200本身有相应的24V电源提供具体接线请在"技术规范"内查找 

为什么有的编程软件下没有Ln指令? 
  有两个原因:一是编程软件的版本问题,建议采用新版软件,二是只有CPU224、226支持此指令,CPU221,CPU222没有此指令。 

如果编程口的地址、波特率、等参数忘记了怎么办? 
  西门子提供一个wipeout.exe应用程序,可以恢复PLC为原厂设置,并且删除用户程序,数据块,和所有的配置信息,PLC将被设置为地址2,波特率9600。WIPEOUT在DOS环境下运行,不过您一定按照提示完成。如果一次不成功请重复测试,它的基本原理是这样的,PLC在上电这初期(非常短)是以出厂设置的状态工作的,WIPEOUT只有这段时间才有控制权改变PLC的设置的。所以您加电和键盘操作一定要配合好。Wipeout.exe文件拷贝在编程软件的光盘上,如果您没有欢迎下载 

能否在CPU224中使用存储在存储卡上的CPU222的程序 
  答:可以,您可以从EEPROM存储卡向相同的、更大的、或更新的CPU22X中输入程序。 

为什么在使用模拟量输入模块的时候,有时AD码值会有很大的"跳动"? 
  在应用模拟量模块的时候,您会有两个"电源地",一个是CPU的供电地,另一个是传感器信号地,两个电源的地线是没有连接的。这样就有可能产生高的共模电压,对模拟量输入值产生影响。
建议:建议将两个电源地线连接在一起,
注意:共地的时候一定保证两个电源只有一根共地线,以避免不必要的有害电流产生 

在使用MODEM的时候,无法连接 
  MODEM和CPU之间的通讯故障可能由下列原因产生
 1. CPU和PC/PPI电缆是为半双工设计的,而计算机的232口是全双工的
 2. CPU既不产生DTS信号也不产生RTR信号,但是计算机可以产生
  解决办法:
 1. 预先在MODEM上永久地断开本地回波(例如用AT指令AT EO)
 2. 在合适的地方断开DTS和RTR信号 关于"MODEM"和S7-200的有关问题我们将专题讨论 

当PLC的输入点采用PLC本身的24V电源供电时应该注意什么? 
  如果您的I/O通过PLC本身的24V电源供电时,在PLC刚刚加电的时候不会立即有电,CPU要领先于输入先得电。这一点对于上电初始化的时候可能有影响,解决的办法是如果初始化程序与开关量输入有关,请延时几毫秒再初始化。 

在使用TD200的时候信息为什么过一段时间会自动切换到其它的信息? 
  在组态TD200的时候,为信息赋予的优先级是降序排列的,第一条信息具有最高的优先权,在使能多条信息的时候,通过上下箭头键可以在多条信息间切换,黑色闪烁光标显示的是当前的信息,如果30秒内不做任何操作,系统会自动切换到优先级最高的那条信息。这是一个很好的功能,不是什么错误。如果您想固定显示某条信息,您只要在同一时刻只"使能"一条信息即可. 

关于RCV及XMT指令使用时的常见问题: 
  1. RCV及XMT指令不能同时有效,如果同时发生则会产生错误,通讯口不能进行新的通讯,需要重新    启动才可以清除错误。
  2. 在用PC/PPI电缆时,发送和接收之间有一定的时间间隔,这是由电缆本身的切换时间决定的。
  3. 关于通讯超时的问题,在SM187.2设为1的时候,并不是超过SMW192的时间值即终止接收,而是只    有接收到首字符后未能在规定时间内完成接收才可以自动终止接收,如果收不到首字节,RCV将一    直保持有效。 
 

 一点解决办法: 
  如果要停止RCV,需要复位相应的SM187.7,但是需要执行一次RCV才能有效,因为只有新的RCV指令CPU才去读SMB
  例如:
  LD M0.2
  RSM87.7,1
  RCV VB99,0
  XMT VB199,0
 在发送之前首先断开接收 

2001年后订的TP170A,程序下载不下去? 
  这是因为2001年后购的新版TP170A加进了新的功能和Firmware,原来的protool/pro V5.2+SP1不能支持这种新功能,所以应升级protool/proV5.2+SP1到 protool/proV5.2+SP2即好。 

旧的TP170A程序无法下载。怎么办? 
  对于MP270、OP170B、TP170A、TP170B等打新出的基于WindowsCE操作系统的操作员面板,因为Protool/pro软件版本不断升级,所以原来旧的TP/OP的Firmware不能与新protool/pro相匹配。所以软件程序无法下载下去,为此应按下列步骤对旧TP/OP的Firmware进行升级:

1.在新版Protool/pro光盘中,在images\TP170A\V5-2-SP2下找到Ptupdate.exe文件,运行此文件,则   会弹出一个名为“net-ptupdate”的窗口。在菜单“file”?“setting”中设置好通迅接口,如    coml。
2.在菜单“file”?“open”窗口中选中光盘中所带的“TP170A_V5_2_SP2_23.img”文件,并打开此文   件。
3.在菜单“file”?“download”中将此配置下载到TP170A中。
4.重新启动TP170A,然后下装程序

written by admin \\ tags: , , ,

10

 

131:S7-300/400 PLC支持哪些寻址方式?

1)直接寻址

1.直接地址:例如I0.0,Q1.7,PIW256,PQW512,MD20,T15,C16,DB1.DBB10,L10.0等

2.符号寻址:例如qq,ww.aa等

2)间接寻址

1.存储器间接寻址:16位指针,例如OPN DB[MW2] 32位指针,例如A I[MD0]

2.寄存器间接寻址:32位指针,例如A I[AR1,P#0.0],A [AR1,P#0.0]

132:如何使用指针?

指针用来指向一个地址。使用这种寻址方式的优点在于可以在程序运行过程中实现变址。指针用于存储器间接寻址

程序中用于存储器间接寻址的语句包含一个指令、一个地址标识符、以及一个偏移量(偏移量必须在方括号内给出)。

下面给出一个双字格式的指针的例子:

L P#8.7 把指针值装载到累加器1

T I[MD2] 把指针值传送到MD2

A I[MD2] 查询I8.7的信号状态

= Q[MD2] 给输出位Q8.7赋值

存储区域内部寻址及交叉寻址:程序中采用这些寻址方式的语句包含一个指令以及下列内容:地址标识符、地址寄存器标识符、偏移量。地址

寄存器(AR1、AR2)及偏移量必须写在方括号内。

存储区域内部寻址例程:指针不包含指示存储区域的信息:

L P#8.7 把指针值装载到累加器1

LAR1 把指针从累加器1装载到AR1

A I[AR1,P#0.0] 查询I8.7的信号状态

= Q[AR1,P#1.1] 给输出位Q10.0赋值

偏移量0.0不起作用。输出Q10.0 等于8.7 (AR1) 加偏移量1.1。结果是10.0 ,而不是9.8。

存储区域交叉寻址例程:在存储区域交叉寻址中,指针中包含指示存储区域的信息(例子中为 I 和 Q)。

L P#I8.7 把指针值及存储区域标识装载到累加器1

LAR1 把存储区域I 和地址8.7装载到AR1

L P#Q8.7 把指针值和地址标识符装载到累加器1

LAR2 把存储区域Q和地址8.7装载到AR2

A [AR1,P#0.0] 查询输入位I8.7的信号状态

= [AR2,P#1.1] 给输出位Q10.0赋值

偏移量0.0不起作用。输出Q10.0 等于8.7 (AR2) 加偏移量1.1。结果是10.0 ,而不是9.8,

133.如何用一个变量作索引实现在一个域中读一个元素或写一个元素?

一个域(数据类型为ARRAY)是几个相同数据元素的连接。在源代码中一个单空间域的声明执行如下:

My_Array: ARRAY[4..11] OF INT;

它标识了一个数据类型为“INTEGER”的8(=11-4+1)元素单空间域。

为了访问域中的一个元素,输入域名并在方括号中输入希望访问的元素的号码,比如:My_Array[6]。

在S7-SCL (结构化控制语言- 符合IEC 1131-3 的结构化文本)可以使用变量做索引:

i:INT:=46

My_Array[i]:=0

在FBD/LAD/STL中,索引必须是个常量,因此限制了可使用的域的范围。

134:怎样访问复合数据类型数组单元的变量?

复合数据类型数组单元中的变量只有通过单独的函数才能访问。作为传送参数这个函数拥有期望的数组数量并以数组[0]作为起始地址。对此函数的要求是数组置于一个数据块中并且数组[0]不被当前数据使用。这就决定了从参数传送来的地址并将指定的数组拷贝到作为处理区的数组[0]。接下来可对数组进行符号处理。然后它被拷贝回原始的数组号。

首先用这些参数定义并计算数组[0]的地址和要处理的数组数量。将这些值保存在函数的临时变量内。

L P##Field_Start // 输入地址域[0]

LAR1

L D [AR1,P#0.0] // 把这些地址保存在类型为ANY的临时变量中

T LD 0 // temp ‘firststruc’ = LD 0-9

T LD 10 // temp ’sourcestruc’ = LD 10-19

L D [AR1,P#4.0]

T LD 4

T LD 14

L W [AR1,P#8.0]

T LW 8

T LW 18

L LD 16 // 定义期望数组的地址

LAR1

L #Indices

L LW 12

*I

SLD 3

+AR1

TAR1 LD 16

然后用SFC20 (BLKMOV)将要处理的数组拷贝到数组[0]。就可以根据应用需求,对索引数组通过符号访问。然后用SFC20 (BLKMOV)将数组[0]拷贝回原始区域。

135:能否在STEP 7中使用间接寻址编写循环程序?

可以,间接寻址允许寻址地址在程序运行期间才可以确定的操作数。这意味着,程序的一部分可以重复执行。在每个运行周期内,循环编程为所使用的操作数分配不同的地址。

136:ANY指针类型的参数如何被传送出块边界?

下面的例子解释了系统功能块SFC50“RD_LGADR”(读模块逻辑地址)内参数的确定。例如,为功能块FB1编程可分为下面几个步骤:

?声明一个IN变量“test”和一个TEMP变量“test2”,类型都为ANY(图1)。

?将SFC50的参数“PEADDR”传送到变量“test2”。

?通过为ANY指针“test”赋值,将数据传送到临时变量“test2”中。

语句L P##test首先将地址装载到Accu1,然后通过LAR1语句装载到地址寄存器AR1中(可能是LAR1 P##test的简化格式)。通过寄存器间接寻址将ANY指针(10 字节长)中的地址信息读出:

代码注释

0 L W[AR1,P#0.0] 读出当前Accu1中参数数据类型的代码。

2 L W[AR1,P#2.0] 读出Accu1中的重复因数。重复因数表明通过参数类型ANY传递的数据类型的大小。

4 L W[AR1,P#4.0] 读数据块的号或者从ANY指针中读出“0”(这个对应于ANY指针的第 4 到第 5 字节)。

6 L D[AR1, P#6.0] 将区域指针读入Accu1。

每次读地址寄存器AR1之后,数据被保存或者缓存(如T LW 0)在临时变量“test2”中(ANY指针)。按照Network 1中的语句顺序,传送到功能块FB1 的ANY指针被复制到临时变量“test2”中。

137:怎样通过交叉区域寄存器间接寻址访问功能块的本地数据或者功能?

这里必须预先定义本地数据。您可以使用下列语句访问FB或FC的本地数据:

对于存储器间接指针寻址,本地变量必须声明为临时变量(temp):

L P##Lokalvariable

LAR1

L W[AR1,P#X.x]

此处不能使用变量类型“Input”、“Output”和“In_Out”,将被语法检查视为非法。

138:怎样编程间接访问一个ARRAY类型变量的元素?

一个位、字节或者字符域的尺寸是按照字节限制排列的——在所有其它情况下是按照字对齐的。表T6-1中给出了一个域的存储示例。操作系统计算域中单个元素末端位置的位地址。域被分配到从下一个字地址(或字节地址)。下一个数据类型从下一个整字开始(或者整字节).

声明部分:

在声明部分,必须定义一个与将被间接寻址的ARRAY有着同一结构的ARRAY。不一定非要将ARRAY声明为IN-OUT变量;也可以声明为TEMP、IN或OUT变量。

网络:

域宽度(OFFSET)在网络中定义。ARRAY中的单个元素的最小常规数据宽度是一个字节;即使在两个变量之间定义一个BOOL。有必要确定相关的域的宽度和确定下一个期望域的起始地址。可使用下面的算法:

地址(指数):b = 元素长度*(指数 - 1)

创建具有不同数据类型的结构时,必须注意,在特定的环境下可能会自动插入填充字节。

保存ARRAY数据类型:

示例:ARRAY [1..2,1..3] OF 整数将生成下列域:

多维域是按照顺序保存的。在本例中整数 [1,1]后面是整数 [1,2],整数 [1,3]后面是整数[2,1]。

139:STEP 7 以哪种格式存储POINTER参数类型?

STEP 7以 6 个字节保存POINTER参数。表4-1显示了用于保存POINTER参数类型的内存区域以及每个字节中保存的数据。i POINTER参数类型保存了下列信息:

DB号(如果DB中没有保存任何数据时为0)。

CPU中的内存区域(表格中列出了不同内存区域的十六进制代码)。

数据的地址(按照Byte.Bit格式)。

如果将形式参数声明为POINTER参数类型,则只需要指定内存区域和地址。STEP 7自动将输入项目的格式转换为指针格式。

140:如何间接访问I/O地址区域?

下面演示了一个间接访问PA区域的例子。您具有对输出模块只写访问和对输入模块只读访问的权利

FUNCTION_BLOCK FB 2

TITLE =

VERSION : 0.1

VAR_INPUT

TargetAddress : DWORD := DW#16#FF; //Target address by PA address range

OutputValue : DWORD ; //Output value

P_Typ : BOOL ; //1=PE range, 0=PA range

END_VAR

VAR_OUTPUT

InputValue : DWORD ; //Input value

END_VAR

VAR_TEMP

TargetTmp : DWORD ;

END_VAR

BEGIN

NETWORK

TITLE =

U #P_Typ;

SPB PEA;

L #TargetAddress;

T #TargetTmp; //Load target address in the tempor鋜e store

SLD 3; //Calculate the formate of pointer Byte.Bit

T #TargetTmp; //Initialisation of temp variable with target address in L-Stack

L #OutputValue; //Load output value

T PAD [#TargetTmp]; //Transfere output value to target address

SPA End;

PEA: L #TargetAddress;

T #TargetTmp; //Load target address in the tempor鋜e store

SLD 3; //Calculate the formate of pointer Byte.Bit

T #TargetTmp; //Initialisation of temp variable with target address in L-Stack

L PED [#TargetTmp]; //Load output value

T #OutputValue; //Transfere output value to target address

End: CLR ;

END_FUNCTION_BLOCK

141:应用软件冗余当一个长度错误出现导致CPU处于STOP模式应该作些什么?

当在OB100中设置软件冗余功能块FC100时,必须注意下列情况:参数IEC_NO 的背景数据块必须至少有两个字的长度,同样应用于冗余用户程序的参数DB_NO的数据块也必须时这样。

142:在S7程序中,有许多FC、FB块, 我怎样对其中的一些块进行保护, 而其它的块可以是开放的呢?

1) Step7中, 可以先任意打开一块如OB1, 在"file"中选择"Generate Source"或快捷方式"Ctrl+T",弹出一个画面,填写"object name"如"tt",然后按OK确认,就会再弹出另一个画面,左边是你的程序中所有的块,如果你需要保护哪些块, 就把这些块移到右边,如FB1、FB2等等, 然后退出所有的程序块,再进入SIMATIC Manager中。

2) 在S7 Program Sources找到文件tt,双击tt打开,在第四行中加入"Know_How_Protect", 然后编译, 无错后存盘。这样FB1、FB2就被保护住,如想去掉保护,在tt中去掉"Know_How_Protect"编译存盘即可。

注意: 千万不要丢失或删除源文件(如tt), 否则程序被保护, 用户可以另存到其它目录中,或Export Source到硬盘中,再删除源文件,这样别人只能看到未保护的块。

143:SFB41,SFB42,SFB43和FB41,FB42,FB43的区别?

SFB41(CONT_C),SFB42(CONT_S),SFB43(PULSEGEN)块和FB41(CONT_C),FB42(CONT_S),FB43(PULSEGEN)的区别:SFB41,42,43与FB41,42,43的参数设置是一样的。SFB41,42,43只能用于CPU314IFM;FB41,42,43可用于CPU313以上的CPU(除CPU314IFM),因为SFB41,42,43集成于CPU314IFM中,而在普通CPU中没有这些块。

144:如何在多例兼容功能块中找到变量地址?

在多例兼容功能块中,为块参数和静态本地数据加载与地址寄存器AR2有关的绝对地址。如果要在情景数据块中找到变量的绝对地址,则必须把域内指针(只是AR2的地址)加载到变量地址。

样例:

TAR2 //将地址寄存器加载到累加器AC1(偏移量)

UD DW#16#00FF_FFFF // 关闭区域ID

L P##variable //加载变量地址

+D // 增加偏移量和变量地址

LAR1 // 保存地址寄存器AR1中的结果

这样可在AR1中获得绝对地址以进行进一步处理。

当功能块作为本地实例调用时,总要使用该方法。比如,在一个功能块中创建可做为类型“FB”的静态变量的功能块。这样所调用的情景数据块的数据偏移量就存储到情景数据块中。单个实例的偏移量在AR2中。如果不调用作为本地实例的功能块,则可以结束计算。值‘0’就在地址寄存器中。

注意事项:如果改变程序中的地址寄存器AR2,那么也改变了变量的偏移量地址。因此就不能保证再对变量进行正确访问。在这种情况下,必须预先保存AR2,并在对程序动作完之后将其复位为初始状态。

样例:

TAR2 // 在累加器中加载偏移量地址

T #save // 比如,静态本地数据域 0中的变量

L DID 0 // 地址绝对是由DI加载的beds<Y

L AR2 // 核对

145:怎样才能访问上一函数的本地数据?

如要访问以前的本地数据(“V-e > L”数据),可以传送一自创建ANY指针或绝对地址到被调用的FC。如果传送的是自创建ANY指针,区域指针会指向其本地数据,而这是无意义的。> 因此“V”区域码必须置于ANY指针中。此码必须准确传送。当指定绝对地址时可由编译器完成此工作。

常规程序结构:

以ANY指针或绝对(地址)方式传送:

LAR1 P##target //本地定义的ANY变量初始地址

L W#16#87 //为“V”区域载入码

T LB[AR1,P#6.0] //传送到ANY变量

CALL FCxy

source1: = #target //传送自创建的ANY指针

source2: = P#L 0.0 BYTE 8 //传送完全L数据区

绝对寻址与通过ANY指针寻址的区别:

下图显示了绝对寻址与通过自创建ANY指针寻址间的区别。在这种情况下“87”码不传送,因此ANY指针指向其本地区域。

146:怎样在DB内进行间接寻址?

请参照:

在DB内进行间接寻址例子

147:下面是一个在STEP7软件中实现简单指针寻址的例子程序,您可以参考它的结构实现您的指针寻址功能?

siemens指针寻址例子_cpu315

148:绝对地址和符号寻址的定义和区别是什么?

在STEP 7程序中要用到I/O信号、位寄存器、计数器、定时器、数据块及功能块。在程序中可以采用直接地址,或者更便于读程序的符号寻址,例如Motor_A_On,或采用你的公司或行业常用的代码。这样在你的用户程序中就可以通过符号来寻址。

绝对地址:绝对地址由地址标识符和存储器的位置组成,例如Q1.0,I1.1,M2.0, FB21等。

符号地址:如果为绝对地址指定一个符号名,程序会更便于阅读和查错。

STEP 7 可以自动将符号名翻译成所需的绝对地址。如果要用符号名存取ARRAY、STRUCT、数据块、局部数据、逻辑块、以及用户自定义数据类型,必须首先为绝对地址指定一个符号名。

例如,可以为Q0.0 指定一个符号名MOTOR_ON,然后在程序中将MOTOR_ON作为一个地址使用。使用符号地址更容易将您的过程控制项目中的元件与程序中的元件相对应。

注意:在符号名中不允许使用两个连续的下划线,例如MOTOR__ON。

编程支持:LAD、FBD、STL中地址、参数、块名可用绝对地址或符号表示。

用菜单命令View > Display > Symbolic Representation,可以切换绝对地址和符号地址

为了使用符号地址编程更加容易,可以同时显示绝对地址和符号名。使用菜单命令 View > Display > Symbol Information来激活。这就意味着STL语句的注释包含了更多的信息。不能在该界面下进行修改,只能在符号表(symbol table)或变量声明表(variable declaration table)中进行修改。

149:S7-300/400系统存储区域共有多少种?

S7 CPU的系统存储区域分为下表中列出的地址区域。在程序中可以根据相应的地址直接读取数据。

150:如何把一个DATE_AND_TIME变量转换为STRING变量?

为了以日期/时间字符串(STRING)形式显示DATE_AND_TIME变量,必须DATE_AND_TIME 变量的专用字节转换为相应的CHAR字符。

读取DATE_AND_TIME 变量的专用字节并从这两位数所在ASCII码中创建专用位。将确定了的CHAR字符存储在字符串的期望位置。

示例:

L 字节年

SLD 12

SRW 4

SRD 8

L W#16#3030

+ I

T 数字字符年

也可以用相反顺序将一个STRING格式的日期/时间字符串转换为一个DATE_AND_TIME变量

written by admin \\ tags: ,

10

101:我如何做到对自己的程序块进行加密保护?
      您能够通过STEP7软件的KNOW_HOW_PROTECT功能实现对您程序代码的加密保护。
      如果您双击鼠标打开经过加密的程序块时,您只能看到该程序块的接口数据(即IN, OUT 和IN/OUT  等类型的参数)和注释信息,而程序块中的代码及代码的注释,临时/静态变量是不能被看到的。同时您也无法对加密保护的程序块做出任何改动。
      如何实现程序块保护:
            1.打开程序编辑窗口LAD/FBD/STL;
            2.将要进行加密保护的程序块生成转换为源代码文件(通过选择菜单 File—>Generate source 生成);
            3.在LAD/FBD/STL 窗口中关闭您的程序块,并在SIMATIC
            Manager项目管理窗口的source文件夹中打开上一步所生成的source文件;
            4.在程序块的声明部分,TITLE行下面的一行中输入”KNOW_HOW_PROTECT”;
            5.存盘并编译该source文件(选择菜单FileàSave,FileàCompile);
            6.现在就完成了您程序块的加密保护;

102:我如何做到对自己的程序块进行jie密?
            取消对程序块的加密保护
            1.    打开程序块的Source源文件;
            2.    删除文件中的KNOW_HOW_PROTECT;
            3.    存盘并编译该source文件;
              现在程序块的加密保护已经取消。
              注意: 如果没有 STL source 源文件,您是无法对已经加密的程序块进行编辑的;

103:在冗余电源配置中,电源模块掉电,调用那个OB可以防止CPU停机?

     通过在程序中添加OB83可以防止CPU停机而添加OB81不能防止CPU停机。
     通常我们很容易以为OB81就是处理所有电源故障的OB块,但对于冗余电源配置中,某个电源模块掉电故障,实际上CPU当作模块插拔故障来处理,因此需调用OB83。

104:WinCC作为Modbus主站,进行浮点数读取时数据不正确是什么原因?
     WinCC作为Modbus主站,进行浮点数读取时,Tag的类型应当选为浮点数32位,注意地址偏移为32的整数倍+1(即33、65、97),如果采用选用Input Bits/Output Bits方式读写(Function Code 01,02),在PLC当中应当将一个字的高低8位进行对调。如果选用Input Words/Output Words方式读写(Function Code 03,04),在PLC当中将一个双字的高低16位进行对调,S7300 Modbus程序块的浮点数处理存在误差,大致在0.5%左右。

105:CP341 modibus通讯时,modibus功能码如何设定?
    Function Code 01,05,15  对应M,Q,T,C等数据区,可读可写,具体的字节范围由您在modbus从站组态时设定。
    Function Code 02对应M,I数据区,只读,具体的字节范围由您在modbus从站组态时设定。
    Function Code 03,06,16  对应DB区,可读可写,在modbus从站组态时设定对应的DB块。
    Function Code 04 对应DB区,只读,在modbus从站组态时设定对应的DB块。

106:CP34x的通讯连接电缆中,自己制作电缆应该注意哪些?
      如果你使用自己制作的电缆,那么必须使用带屏蔽外壳的D型接头,屏蔽线应当和接头的外壳连接,禁止将电缆的屏蔽层和GND连接,否则会造成通讯接口的损坏,请注意RS232不支持热插拔,所以一定要断电后在插拔通讯电缆;

107:在用CP340,CP341与第三方产品通讯时(如PC机,用VB,VC读数据)怎样识别联线是否是好的?
     在用CP340,CP341与PC机通讯时,常常读不出数据,这样有两个方面原因。
     其一,在PLC侧程序是否正确。用上升沿触发P_Send,可以看见TXD灯闪,这样可以判断PLC侧程序没问题;
     其二,PC侧VB,VC程序的问题及电缆线的联接好坏,无从知道,如果联线没问题,就可以集中精力在PC侧找原因,判定联线是否接好,显得非常重要,有一个小方法可以测出。在PLC侧修改CP340用ASCII方式传送,在发送DB块中写几个字符形式的数据(chat 如’1′,’2′,’A'等)并间隔触发P_Send功能块。
     在PC侧修改串口参数与PLC一致,如波特率,数据长度,停止位,奇偶校验,无握手信号等。在Windows下附件中打开"Hyper Terminal"建立一个直接到串口的连接,这样就可以读到从PLC中发送的数据如‘12A’等。同样用"Send Text File"的功能,把一些字符送到PLC。这样如果联接电缆是好的,那么可以简单地判断问题是出在哪里。

108:如何使用CP341模板实现Modbus主站或从站通讯,我应当定购那些产品?
       1)CP341 模块: 6ES7 341-1xH01-0AE0 (x:= A: RS232; x:= B: TTY; x:= C: RS422/485)
       2)**(MODBUS master): 6ES7 870-1AA01-0YA0
或者**(MODBUS slave): 6ES7 870-1AB01-0YA0

109:每当断电重启后,CP341模板和调制解调器(如SATEL的modem)之间的通讯出错是什么原因?
     这是因为 DTR 、 RTS信号默认为0造成的,可以在OB1中调用FC6 (V24_SET). 参数RTS 和 DTR 设置为"TRUE".

110:配置"CP 340 RS232C"打印工作应注意什么?
     调用功能块FB4"P_PRINT"打印字符信息。功能块"P_PRINT"传送信息给通讯处理器CP340,CP340发送信息给打印机把信息打印出来。为了打印这些信息必须知道参数"P_PRINT","Pointer DB","Variables DB"和"Format String"的相对关系。

111:CP 341 / CP 441-2 需要多少许可证(License)?
    在任何情况下,每一个MODBUS站都需要一个单独的许可证。6ES7 870-1AA01-0YA0包含软件CD,文档(PDF文件)和硬件狗。如果在同一个站使用几个CP341或CP441通讯处理器,则每个CP都需要一个MODBUS许可证副本(copy license),即不带手册和软件的MODBUS Dongle,只有一个硬件狗,订货号为6ES7 870-1AA01-0YA1。
注意事项:
    对于有两个接口的 CP 441-2,仅需要一个许可证,并且每个接口都可以使用任何协议。

112:关于CP34x串行通讯中的起始位、数据位、校验位、停止位的说明?
    CP34x通讯模板与其他设备进行通讯时,串口传输的是一个10位或11位的数据帧,在模块的Parameters属性窗口中您可以设置数据帧的格式,对这个10或11位组成的数据帧的组成遵循以下规则:
    帧的第一位必须是起始位,始终为1,不能修改;
    起始位之后是7-8位数据位,由用户收发的数据组成;
    数据位之后是校验位,odd奇校验,even偶校验,any不校验但校验位为0,none无校验位;
    校验位之后是停止位,可以设为1-2个位,始终为1,不能修改;
113:如何通过单向通信从S7-300 / 400访问S7-200上的数据?

通过MPI,从带有X_PUT / X_GET的S7-300 / 400 可以访问几个S7-200 CPU。在这种情况下,g S7-300 / 400 是主站,S7-200 是从站。
对于CPU22x系列的S7-200 CPU,可以在19,2 kBd 和 187,5 kBd下工作。从某个固件状态起,CPU21x系列的S7-200 CPU只能控制波特率19,2 kBd。

114:使用通讯处理器(CP340, CP341, CP441-2, CP441-1)时对于协议 3964(R) 和 RK512 可以使用 2 线和 4 线模式吗?
在点对点通讯中,在使用上述的通讯处理器时,只能在 4 线模式中执行协议 3964(R) 和 RK512.

115:当传输字符串或ASCII字符应注意什么?
当传送字符串必须确认最高为254字符。一个STRING(character string)的数据格式最大256字符,包括254个字符,最大的字符长度在字符串的第一字节中定义,实际长度在第二个字节中定义,接下来的是字符ASCII格式。
当传送字符串数据时,指针必须指向用户数据的第一位而不是字符串的第一个位。

116:通过PROFIBUS-DP使用SFC 58/59或者 SFB 52/53进行通信时,存在通信限制吗?
当使用写操作标签和读操作标签(SFC 58/59或者SFB 52/53)时,存在根据CPU而定的对活动工作的限制:
CPU 31x-2DP: 每个DP链上允许同时进行4个写操作和4个读操作。
CPU 317, CPU 318-2: 每个DP链上允许同时进行8个写操作和8个读操作。
CPU 41x-2DP: 每个DP链上允许同时进行8个写操作和8个读操作。
在外部链上,每个SFC/SFB同时进行的写操作和读操作的数目总共不能超过32。因此,每个CPU和SFC/SFB上可以同时进行最多40个(内部链上8个 + 外部链上32个)作业。
如果在PROFIBUS Net上运行几个通信伙伴,请确保不要激活比指示值更多的作业。一个SFC/SFB可能持续几个CPU循环周期.

118:可以用模拟输入模块SM 331-7NF00进行参数设置的最大干扰频率是多少?
通过硬件配置,可以设置参数为400Hz的最大干扰频率。通过特殊的滤波器可以得到这个数值。
最小的有效综合时间是10ms——这样就可抑制100Hz的干扰频率。模块的最小基本执行时间(释放所有通路)是140ms.

119:关于机架故障,在编程OB86时需要注意哪些事项?
只要检测出机架故障,操作系统就会调用OB86,例如:报告机架故障(例如:缺少IM或IM故障导致连接电缆中断),机架的分布式电源故障,在总线系统PROFIBUS-DP的主站系统中,DP从站发生故障。
   在S7-300和S7-400中处理故障的方法不同:
在S7-300中,当中央机架出现故障时,不调用OB 86;只有分布式机架发生故障才调用它。
在S7-400中,非分布式或分布式机架出现故障的情况下,均调用OB 86。

120:关于300的硬件安装配置应该注意什么?
通常一套S7-300 PLC系统有一个主机架,安装有CPU的机架称为主机架,当主机架上的I/O模块(最多8块)上的控制点数不够时,可以再增加1-3个扩展机架,每个扩展机架最多可安装8个I/O模块,装在4到11槽,3个扩展机架最多安装24个I/O模块。
在使用扩展机架时,需要机架(Rack),电源模块(PS),接口模块(IM),连接电缆368,S7-300的模块(信号模块、通讯模块、功能模块等)。
S7-300的安装机架是一种导轨。你可以使用该导轨,安装S7-300系统的所有模板。S7-300既可以水平安装,也可以垂直安装。要注意其允许的环境温度为:
垂直安装:0 至 40°C、水平安装:0 至 60°C、 CPU和电源必须安装在左侧或底部。

121:如何判断电源出错,如:电池故障?
    如果电源(仅S7-400)或缓冲区中的一个错误触发一个事件,则CPU操作系统访问OB81。
错误纠正后,重新访问OB81。电池故障情况下,如果电池检测中的BATT.INDIC开关是激活的,则S7-400仅访问OB81。如果没有组态OB81,则CPU不会进入操作状态STOP。如果OB81不可用,则当电源出错时,CPU仍保持运行。

122:如何诊断模拟量模板?
    CPU 可以中断用户程序的执行处理诊断报警块OB 82。
    在用户程序中你可以调用OB 82 中的SFC 51 或SFC 59 以从模板中获得更为详细
的诊断信息。
    诊断信息在OB 82 退出之前都是一致的当OB 82 退出时将对模板作出诊断中断响
应。

123:对于小功率输入的触发器,如何避免线路损坏?
     将触发器连接到SM322-8BF,如果它的1信号功率输入低于10mA(例如1mA),则可能会报告线路损坏。不建议禁用“Wire breakage”诊断,因为这将禁用所有的诊断,并且当SM322-8BF在一定电流范围(0.5到10mA)内工作时,可能无法安全地开关。
补救措施:接一个与触发器平行的电阻,这样至少有10mA(24V ca. 2.4 kOhm)的电流。该电阻应该直接安放在触发器上,从而可以方便检测线路损坏。

124:如何为S7 318-2 CPU进行操作系统更新?
创建一个操作系统更新卡所必需的条件:
    1.    S7存储卡的类型:2 MB的闪存,订货号6ES7 953-8LM00-0AA0、6ES7 951-1KL00-0AA0
    2.    STEP 7 V3.1或更新版本
    3.    具有外部PROM编程器的PC或者编程设备(PG),用于编程存储卡
使用STEP7创建操作系统更新卡的步骤:
    1.    下载所需的CPU文件;
    2.    双击文件名将文件解压缩;
    3.    在Simatic Manager中执行“File/S7 Memory Card/Delete”,删除微存储卡内容;
    4.    在Simatic Manager中选择“PLC/Update CPU Operating System”对操作系统进行编程。选择目标目录并“打开”CPU_HD.UPD文件,开始编程过程;
    5.    当标准鼠标指针重新出现时,即完成对操作系统更新卡的编程。
执行操作系统更新:
    1.    切断CPU所处机架的电源(PS);
    2.    在CPU中插入准备好的操作系统更新卡;
    3.    接通CPU所处机架的电源(PS);  
    4.    操作系统从微存储卡传送到内部CPU闪存EPROM。此时,将点亮CPU的所有LED(INTF、EXTFFRCE、< span lang="EN-GB">CRST、RUN、< span lang="EN-GB">STOP);
    5.    大约2分钟后完成操作系统更新,此时STOP LED将慢速闪动=>请求系统存储器复位;
    6.    切断电源,插入操作所需的微存储卡;
    7.    接通电源,CPU执行一次自动存储器复位,之后立即进入准备就绪状态。.
注意:为执行更新,必须从模块中拆除电池.

125:模拟量模板的信号转换时间如何计算?
    转换时间由基本转换时间和模板的以下其它处理时间组成
     1)电阻测试    2)断线监控
    基本转换时间直接取决于模板量输入模板的转换方法积分方法瞬时值转换
    对于积分转换方法积分时间将直接影响转换时间积分时间取决于你使用STEP 7 所设置的干扰频率抑制。

126:是否可能在两个DP从站之间运行一个DP网络?
    不能。不可能建立从站-从站通信。总是需要一个主站来操作DP网络。智能从站可以访问其它从站的初始值(直接数据通信),但是总是需要DP主站来控制DP网络。智能从站也可以不使用DP网络而独自工作(单机工作),但是它们不能作为DP主站来提供服务。仅可以与模块接口共同工作。

127:对于有些模拟量输入模板你可以使用STEP 7 设定模拟值的平滑指数,它能起到什么作用?
    使用平滑指数:模拟值的平滑指数可以保证进一步处理的稳定模拟信号;这对于模拟值与被测值之间的缓慢变化相适应非常重要,例如温度测量时。
    平滑原理:被测值可以通过数字滤波进行平滑平滑可以通过模板根据转换数字化模拟值的规定数量计算平均值来实现;用户可以在最多四个等级赋值平滑参数无低平均高这四个等级决定了用于平均计算的模拟信号数量;所选平滑等级越高所平滑的模拟值将越稳定时间越长直到在一个阶跃响应后适用所平滑的模拟信号。

128:模拟信号电缆应该单端接地还是2端接地?
    为了减少电子干扰对于模拟信号应使用双绞屏蔽电缆模拟信号电缆的屏蔽层应该两
端接地。
    但是如果电缆两端存在电位差将会在屏蔽层中产生等电线连接电流造成对模拟信号的干
扰在这种情况下你应该让电缆的屏蔽层一点接地。

129:模拟量信号为:7FFFH,是什么原因?
    每个模拟量输入模板都可提供被测值7FFFH 与发现故障时的参数赋值无关,该被测值
可以是上溢故障或通道无使能

130:防止静电放电危险一般有哪些措施?
    保证良好的接地:在处置对静电敏感的设备时应确保人体工作表面和包装有良好的接地这样可以避免充上静电。
    避免直接接触:只在不可避免的情况下才接触对静电敏感的设备例如在维修时手持模板但不要接触元件的针脚或印刷板的导体用这种方法使放电能量不会影响对静电敏感的设备
    如果必须在模板上进行测量在开始测量之前必须先接触接地的金属部分使人体放电这种方法只适用于接地的测量设备。

written by admin \\ tags: ,

06

 

82:以314C为例计数时如何清计数器值?
有两种方法:
1:在参数设置中“Gate function”选“Cancel count”软件门为0,在为1时,值将清零,
2:利用写“Job”的方式,写计数值的任务号为1。

83:CP342-5能否用于PROFIBUS FMS协议通讯?
CP342-5支持PROFIBUS DP协议,不能用于PROFIBUS FMS协议通讯,同样CP343-5只支持PROFIBUS FMS协议,不能用于PROFIBUS DP协议通讯,而CP342-5和CP343-5都支持PROFIBUS FDL的链接方式;

84:为什么CP342-5 FO无法建立通讯?如何配置?
CP342-5 FO不支持3MB,6MB的通讯速率,如果您购买的是5.1版本的CP342-5,而STEP7中没有V5.1版的CP342-5时,则可以插入一个V5.0版的CP342-5模块,功能不受影响。CP342-5在S7-300系统中的安装位置与普通的S7-300 I/O模块一样,可以插在4至11这8个槽位中的任何一个。

85:CP342-5的3中工作方式有什么区别?
No DP方式下:可以用CP342-5通讯口进行S7编程或进行PROFIBUS的FDL连接,连接人机界面;
DP Master方式下:CP342-5除了作为网络中的PROFIBUS主站之外,也可用于S7编程、FDL连接和连接人机界面。DP delay time参数一般不需设定,除非您采用FDL连接时,要与DP的I、O点刷新时间相一致,才根据PROFIBUS网络性能进行调整;
DP Slave方式下:CP342-5除了作为网络中的从站之外,如果选择了The module is an active node on the PROFIBUS subnet选择框,那么CP 342-5也可用于S7编程、FDL连接和连接人机界面,否则CP342-5只能作为从站使用;

86:CP342-5 最多能完成多少数据交换?
一套S7-300系统中最多可以同时使用4块CP342-5模块,每块CP342-5能够支持16个S7 Connection,16个S5-Compatible Connection。当CP342-5处在No DP模式下工作时,最多同时支持32个通讯链接,而处在DP Slave或DP Master模式下时,最多同时支持28个通讯链接。CP342-5 作为PROFIBUS DP主站时,最多链接124个从站,和每个从站最多可以交换244个输入字节(Input)和244个输出字节(Output),与所有从站总共最多交换2160个输入字节和2160个输出字节。CP342-5 作为从站时,与主站最多能够交换240个输入字节和240个输出字节。CP342-5 可以最多连接16个操作面板(OP)以及最多创建16个S7 Connnection。

87:如何实现在从站断电、通讯失败或从站通讯口损坏等现象出现时,主站能够不停机?
需要在您的STEP7项目中插入相应组织块。插入这些组织块时,不需要编程内容,当从站断电、通讯失败等现象出现时,主站只报总线故障,但不停机。这样,无论从站先上电,还是主站先上电,系统都能正常运行:
   在S7-300中加入OB82、OB86、OB122;在S7-400中加入OB82~OB87、OB122;

88:CP342-5连接上位机软件或操作面板时应该选择什么工作模式?
如果您只是用CP342-5连接上位机软件或操作面板(OP),这时通讯采用的是S7协议,那么建议您选择No DP模式,并且不需要调用FC1(DP_SEND)和FC2(DP_RECV)功能块,它们只是在PROFIBUS DP通讯时才使用;

89:为什么系统上电后,即使CP342-5开关已经拨至Run,但始终处于STOP状态?
应当检查STEP7程序和组态是否正确(删除程序,只下载硬件组态)、检查CP342-5连接的24V电源线是否正常、M端是否与CPU的M端短接、通讯电缆连接是否正确(确认通讯电缆未内部短路),CP的firmware是否正确。如果您确认可以排除以上原因,那么可能您的CP342-5已经损坏,请更换;

90:如何用CP342-5组态PROFIBUS从站?
1.在STEP7中生成一个新的项目,并插入一个S7-300站。
2.在硬件组态窗口中选择一个S7300的导轨以及相应的CPU。
3.硬件组态窗口中,在路径 "SIMATIC 300 > CP 300 > PROFIBUS > CP342-5" 选中于您订货号和版本号对应的CP342-5,插入到S7300站对应的槽位中,注意如果您购买的是Version5.1,而组态中只能够找到Version5.0,您可以选用Version5.1替代Version5.0.。
4.在插入CP342-5的过程中,会弹出一个PROFIBUS属性窗口,请点击”New…”按钮,创建一个PROFIBUS网络PROFIBUS(1) ,并设定CP342-5作为从站的站地址为3。
5.双击CP342-5,打开CP342-5的属性窗口,在"Operating Mode" 标签页下选择"DP Slave" 选项,此时会弹出一个警示窗口,告知您如果要用CP342-5实现CPU和PROFIBUS从站的通讯,必须调用FC1(DP_SEND)和FC2(DP_RECV)功能块,实现CPU与CP342-5之间的数据交换,而CP342-5与PROFIBUS的数据交换是自动完成的,不用编程。FC3和FC4用于诊断和通讯功能的控制,一般不用调用。
6.点击OK ,存盘编译。.

91:如何用CP342-5组态PROFIBUS主站?
1.在STEP7的SIMATIC Manager窗口中在插入一个S7300站;
2.重复以上组态从站步骤的2-4步,注意插入CP342-5时,不能点击”new…”按钮,而直接用鼠标选中以上创建的PROFIBUS(1)网络,点击OK;
   在"Operating Mode"标签页中选择"DP Master"选项;

92:采用CP342-5的DP通讯口与采用CPU集成的DP通讯口进行通讯有什么不同,这两种通讯口功能有什么不同?
可以通过CPU集成的DP通讯口或CP443-5模板的DP通讯口,调用Load/Transfer指令(语句表编程,如图2)、Mov指令(梯形图编程)或系统功能块SFC14/15访问从站上的I/O数据;
如果您使用342-5模块的DP通讯口进行通讯,那么您就不能使用Load/Transfer指令(语句表编程)、Mov指令(梯形图编程)直接访问PROFIBUS从站的I/O数据。采用CP342进行PROFIBUS通讯包括两个步骤:
1.CPU将数据传输到CP通讯卡的数据寄存器当中;
2.数据从CP342-5的数据寄存器当中写到PROFIBUS从站的Output数据区(反过来就是CPU读取从站Input数据的过程);CP342-5与从站的Input/Output数据区的通讯过程是自动进行的,但是您还必须自己手动的调用功能块FC1(”SEND”)和FC2 (”RECV”),完成CP342-5与CPU之间的数据交换。

93:功能块DP_SEND、DP_RECV"的返回值代表什么意思,如何理解?
"DP_SEND"功能块包括有"DONE","ERROR" 和"STATUS"三个参数,用来指示数据传输的状态和成功与否。"DP_RECV"功能块包括有"NDR", "ERROR", "STATUS" 和"DPSTATUS"四个参数,用来指示数据传输的状态和成功与否。您可以定义相应的数据地址区,存放这些返回值,分析返回的值的意思,当Error=False,STATUS=0,DONE=True,NDR=True时,说明CPU与CP342-5之间的数据交换成功进行。

94:DP从站,CP模板以及CPU之间的数据通讯过程是如何进行的?
使用CP342-5模块,无论调用"DP_SEND" 功能块还是"DP_RECV" 功能块,您都不能直接读写某个PROFIBUS从站的I/O数据。CP342-5模块有一个内部的Input和Output存储区,用来存放所有PROFIBUS从站的的I/O数据,较新版本的CP342-5模板内部存储器的Input和Output区分别为2160个字节,Output区的数据循环写到从站的输出通道上,循环读出从站输入通道的数值存放在Input区,整个过程是CP342-5与PROFIBUS从站之间自动协调完成的,您不需编写程序。您可以在PLC的用户程序中调用"DP_SEND"和"DP_RECV"功能块,读写CP342-5这个内部的存储器。

95:通过CP342-5,如何实现对PROFIBUS网络和站点的诊断功能?
用功能块"DP_DIAG" (FC 3) 可以在程序中对cp模块进行诊断和分析,可以通过job类型如DP 诊断列表,诊断单个dp状态,读取dp从站数据,读取cp或cpu的操作模式,读取从站状态等等

96:为什么当CP342-5模块作为PROFIBUS DP主站,而ET200(如IM151-1或IM153-2)作为从站时,CP342-5上的SF等不停闪烁?
当S7-300系统中的CP342-5作为DP主站,下挂IM153-2 模块时,IM153-2只能作为DP主站,而不是S7从站运行。可以采取通过GSD文件将ET200从站组态进你的系统。随后IM153模块可作为 DP 标准从站运行。为此,您必须将GSD文件安装到硬件目录中(通过菜单序列Tools > "Install new GSD file")。在更新了硬件目录后您会在"PROFIBUS-DP > Additional Field Devices".中发现DP从站。

97:11.2. 在STEP7中打开一些对象时出错是什么原因?
有的时候您在打开某些项目中的对象时,STEP7会弹出报错窗口,错误信息为’*.dll’文件无法被装载,代码是257:5,
可以看出,上面的错误信息是一个或多个对象不能被显示,出现这种错误的原因是您没有安装与要打开对象相关的软件包。

98:如果想通过上位或触摸屏对PLC中S5TIME类型的参数进行设定,有什么方法?

1、从上位机写整型数INT或实数REAL到PLC,首先该数值需包含以毫秒为单位的时间值,在写入PLC的数据存储区后,利用ITD(Integer to Double Integer)或RND(Real to Double Integer with Rounding Off)将该值转换为双整形,然后将该值写到类型为TIME的变量里,在程序中调用FC40,将TIME转换成S5TIME即可。

2、从上位机写WORD到PLC,首先该数值需包含以某时基为单位的时间值,在写入PLC的数据存储区后,用Word Logic下的WOR_W指令将该值与其时基相或,再利用MOVE指令将得到的数值写入S5TIME类型的变量中。

3、如果使用WinCC作为上位软件,或上位软件支持32位带符号浮点数,可以从上位写32位带符号浮点数到PLC中定义为TIME的变量,然后在程序中调用FC40,将TIME转换成S5TIME即可。

99:STEP 7中相关时间处理和转换的功能块有哪些?
SFC 0 "SET_CLK" 设置CPU时钟
SFC 1 "READ_CLK" 读出CPU时钟
FC 3 "D_TOD_DT" 从DATE_AND_TIME 中取出DATE。
FC 6 "DT_DATE" 从DATE_AND_TIME 中取出the day of the week,即星期几
FC 7 "DT_DAY" 从DATE_AND_TIME 中取出时间
FC 8 "DT_TOD"
FC33用于S5TIME到TIME的转换
FC40用于TIME到S5TIME的转换

100:如何实现带电拔出或插入模板,即热插拔功能?
硬件要求:
   使用普通的S7-300导轨和U型总线连接器是不能实现热插拔功能的,您必须购买有源总线底板,才能实现该功能。另外,您在配置时,必须使用MLFB 6ES7 153-1AA02-0XB0版本以上的接口模块,因为它支持DP协议的DPV1版本,而MLFB IM153-1AA00-0XB0模块是不支持该功能的。目前您能够购买到的IM153接口模块都支持热插拔,只有2-3年以前的IM153接口模块不支持热插拔。
软件要求:您必须在STEP7 5.1版本以上进行配置;
如果您采用S7-400 CPU或S7-400 CP作为DP主站,那么您可以直接在IM153的属性窗口的"Operating Parameters"标签页里配置热插拔功能。
1:在STEP7的硬件组态窗口的PROFIBUS DP目录中选择相应IM153模块,可以看出该模块支持“module exchange in opration”(热插拔);
2:将IM153模块拖到PROFIBUS总线上;
3:选择I/O模块,插入到ET200M站的各个槽位中;
4:双击ET200M站,打开属性窗口,选中“Replace modules during operation“(热插拔)选项;
5:属性窗口中提供了ET200M站热插拔功能所需的有源总线导轨的订货号;
6:属性窗口中提供了该型号IM153,插入的I/O模块对应使用的有源总线底板的订货号;
除了以上的硬件组态之外,还要向S7-400中下载OB82、OB83、OB84、OB85、OB86、OB87、OB121、OB122等组织块。当ET200M从站上进行模块的热插拔时,中断组织块OB83 ,OB85,OB122被调用。

如果您采用S7-300 CPU 或 CP 342-5作为DP主站,那么您只能够通过安装GSD文件的方式将IM153模块组态成DP从站,并双击IM153,打开它的属性窗口,进行设置。否则您在STEP7的硬件组态窗口中直接将PROFIBUS DP目录ET200M文件夹下IM153模块挂在PROFIBUS总线上

written by admin \\ tags: ,