全国服务热线 15221406036

SIEMENS/西门子6ES7231-7PD22-0XA8

发布:2023-03-21 16:18,更新:2024-05-08 07:10

SIEMENS/西门子6ES7231-7PD22-0XA8

 在程序初始化时将VW0清零(如果是不需要记忆的变量,直接将dVarName清零也可)或者在数据块中将VW0设置为零。
    则以后需要以字类型访问变量时就用wVarName,需要以双字类型访问变量时就用dVarName。完全不需要类型转换。
    本方法可以极大的减少程序语句数,使程序更简洁、可读性更好,由于不需要做耗时的类型转换,程序运行效率也得到提高。且数学运算量越大,效率提高越明显。
    缺点是要多占用两字节的内存,以后程序中不能使用VW0。但S7-200的RAM空间很大,一般是用不完的,以226为例,有多达10K的RAM,偶从来没有超过1K。这些RAM都是花钱买来的,不用白不用,不用也是浪费了。
    同理,如果有字节型变量经常需要与字类型变量相互转换,让字节变量占用一个字的内存宽度浪费一个字节,避免类型转换。
    关于第3点"使用SET指令只执行一次即可,不必每次扫描都执行这个指令,有些工程人员忽视了这个问题,使用了常规的方法来驱动SET指令,无意中增加了plc程序扫描运行时间"不是很理解,能不能说得细一点。
    1:如果在ob里编写子程序段,是扫描的,但是如果您编写为FC调用,那么在FC的调用条件没有满足时,FC中的程序暂时不执行。这也是我所说节省时间的意思。
    2:PLC的执行步数根据程序长短会不同,扫描时间会根据执行步数的不同而不同,如果用一个mov指令完成8个数字量输出的控制,当然比用8个mov指令完成8个数字量输出的控制所需要的程序步数少。
    4:避免了类型转换,方法如下:
    以S7-200为例,它的内存格式与我们常用的PC机正好相反,它是高字在前,低字在后的。所以我们可以将字变量放在后两个字节,在程序初始化时将前两个字节清零(程序的其它地方不得使用这两个字节)。
    如我们定义符号时将字变量定义在VW2,同时保持VW0的值为零。则程序中可以用VW2以字型访问该变量,同时也可以VD0以双字型访问,避免了类型转换。
    为了避免使用时混淆,好以明确的符号定义来区分字类型和双字类型。在此强烈推荐类匈牙利命名法:以前缀指示变量类型,用首字母大写的有意义的英文单词的组合作变量名。本人习惯用以下缀:b----字节型变量(byte)
    w----字型变量(word)
    d----双字变量(double)
    r----实型变量(real)
    f----位变量(flag)
    btn---自复位按钮式输入(button)
    sw----切换开关或自锁按钮输入(switch)
    sig---传感器、编码等电平信号输入(signal)
    rly---输出继电器位(relay)
    ……
当然,这个根据个人习惯来,没有定则,主要是利于自己区分。
    假如有一个字类型变量名为VarName,为使用前面的转换技巧,我们可以这样定义:
    wVarName----VW2
    dVarName----VD0
    在程序初始化时将VW0清零(如果是不需要记忆的变量,直接将dVarName清零也可)或者在数据块中将VW0设置为零。则以后需要以字类型访问变量时就用wVarName,需要以双字类型访问变量时就用dVarName。完全不需要类型转换。
    本方法可以极大的减少程序语句数,使程序更简洁、可读性更好,由于不需要做耗时的类型转换,程序运行效率也得到提高。且数学运算量越大,效率提高越明显。
    缺点是要多占用两字节的内存,以后程序中不能使用VW0。但S7-200的RAM空间很大,一般是用不完的,以226为例,有多达10K的RAM,偶从来没有超过1K。这些RAM都是花钱买来的,不用白不用,不用也是浪费了。
    同理,如果有字节型变量经常需要与字类型变量相互转换,让字节变量占用一个字的内存宽度浪费一个字节,避免类型转换

plc除了用于开关量控制、定时、计数的基本指令外,还有大量的应用指令,有的plc的应用指令多达数百条。
对于应用指令,初学者非常困惑,不知道哪些指令重要、哪些指令常用,应该怎样学习它们。这些指令可以分为下面几种类型:
1.属于几乎所有计算机语言都有的指令,例如数据的传送、比较、移位、循环、数学运算、字逻辑运算、数据类型转换等指令。
这类指令非常重要,它们与计算机的基础知识(例如数制、数据类型、寻址方式等)有关,应通过例子和实验了解这些指令的基本功能。学好一种型号的plc的这类指令,再学别的plc的同类指令就很容易了。
2.与顺序控制程序有关的指令。这类指令中,fx的stl指令设计得好,用stl指令设计的梯形图与顺序功能图之间有明确的对应关系,因此易于理解和使用,设计的程序比其他方法设计的短,可以节约大量的设计时间。
s7-200的scr(顺序控制继电器)指令和欧姆龙的步指令(step/snxt)也用于编写顺序控制程序。
建议在学习这类指令之前,首先学习顺序功能图(见作者编写的plc教材)。
3.与plc的应用有关的指令,例如与pid控制、运动控制、高速输入/高速输出、通信有关的指令,这些指令也很重要。某些指令需要学习有关的专门知识,才能正确的理解和使用它们。
4.与plc特定的硬件、软件有关的指令,例如读写特殊模块和模拟电位器的指令,s7-300/400读取数据块长度和编号的指令等。
5.与某些特定的工程应用有关的指令。例如fx的凸轮顺控指令和旋转工作台控制指令。
学习应用指令时,可以首先按指令的分类浏览所学的plc有哪些应用指令,它们用来干什么,便于在需要的时候能找到手册或帮助中的指令说明。初学时没有必要花大量的时间去了解应用指令的详细使用方法,更没有必要去死记硬背它们。重点是了解指令的基本功能。
可以采用需要什么学什么的方法,重点学习读程序、编程序时遇到的和需要使用的指令,没有用到的指令暂时不管它。在阅读或编写程序时如果遇到不常用的指令,可以通过编程手册了解它们的详细使用方法。
如果编程软件有指令的在线帮助,选中指令列表或程序中的某条指令,按一下f1键,就可以看到该指令的大量细节,例如指令各参数的数据类型、可用的存储区、参数的意义,指令的功能和应用实例、指令的执行对状态字或有关标志位的影响等。
与学外语不能只靠背单词,应主要通过阅读和会话来学习一样,要学好plc的应用指令,也离不开实践。一定要在读程序和编程序的过程中学习应用指令。
有的指令实际上极少使用,它们属于“休眠”的指令,学习的时候可以不管它们。万一在读程序时遇到它们,可以通过指令的在线帮助或查手册来了解它们

微分电路分上升沿微分和下降沿微分脉冲电路,下面分别讨论。 
上升沿微分脉冲电路, plc 是以循环扫描方式工作的,在 PLC 次扫描时,输入 X0 由 OFF 变为 ON 时, M100 、 M101 线圈接通,但处在行的 M101 的常开触点仍接通,因为该行已经扫描过了,等到 PLC 第二次扫描时, M101 的触点才断开, Y0 线圈断开。
下面再介绍一下下降沿微分脉冲电路,如图所示,当 X0 由 ON 变为 OFF 时 M100 接通一个扫描周期,则 Y0 输出一个扫描脉冲,具体工作原理,请同学们自己分析。

图  下降沿微分脉冲电路


联系方式

  • 地址:上海松江 上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
  • 邮编:201600
  • 联系电话:未提供
  • 经理:聂航
  • 手机:15221406036
  • 微信:15221406036
  • QQ:3064686604
  • Email:3064686604@qq.com