zoukankan      html  css  js  c++  java
  • 西门子PLC-1200 SCL语言开发学习笔记 (一)

     

     

    一、简介和背景

    PLC一般使用梯形图开发,但是梯形图适合电工使用而不是程序员使用,对我们来说开发困难,门槛高,幸好PLC的开发标准还带了类pascal的高级语言,在西门子这里叫SCL语言,这对于我们程序员来说门槛就很低了。

    要开发好复杂PLC逻辑,梯形图困难重重,市场上要价颇高,而使用SCL语言则非常合适处理复杂逻辑以及运算。

    二、新建SCL程序块

     

    在博图软件的项目视图中,便有添加新快,双击

    推荐使用FB模块,便于存放变量,语言选择SCL

    三、变量的创建和访问

    在打开FB模块后,上方就是变量定义区

    Input则是输入参数,Output是返回值或者理解为C# out关键字的输出变量,InOut则是类似Ref的既输入又输出的,Static变量才是我们可以保留的变量,Temp 相当于方法内的局部变量,这次执行过后会被重设

    我们的代码会被放在一个方法块内

    不用担心用Static后每次调用使用这个变量会冲突,每个使用它的地方都会新建一套数据块副本,相当于实例化一个类,调用实例方法,并非完全静态的变量。


    要写代码当然要会访问各个能访问的变量,

    FB里面定义的变量用#开头来访问

    访问地址用%开头,

    变量表里的变量相当于全局静态变量

    我们给一些地址起了名字,既可以用 %I0.0 也可以用Btn1,最终都会变成”Btn1”

    访问别的实例的DB块中的变量则使用DB快的名字在用 . 进行访问,比如第一张图中块的 "_2_DB_1".BtnPress

    四、变量类型

    大部分的变量类型大家基本都认识了,比较搞得是时间类型,简单说下

    Time 相当于TimeSpan,表示一段时间 比如 T#5s表示5秒,再比如 T#10h2m

    LTime 长的Time,表达的时间更长

    Date 日期

    Date And Time DT类型,也就是datetime

    Time Of Day TOD 就是时间部分了

    博图的帮助中也提供了详细的解释,帮助文档也是比较全面的

    结束:

    下期讲解在梯形图中重要且复杂难用又难以组合的,定时器,在SCL中如何处理

  • 相关阅读:
    从屏幕刷新频率到Unity VSync
    TextMesh Pro不能显示中文的解决办法是创建字贴图,常用汉字3500+特殊字符
    50 个 Chrome Developer Tools 必备技巧
    Unity发布到Google Play应用上架流程
    Unity Shader入门
    Unity2019游戏框架搭建第一季C# 核心知识与简易框架搭建 + Unity2019 游戏框架搭建第二季:UI 模块与资源模块持续精进
    TextMesh Pro不能显示中文的解决办法是创建字贴图,常用汉字3500
    permanently
    UE4地编大型开放世界~制作烘焙全流程
    Unity高级游戏地编案例
  • 原文地址:https://www.cnblogs.com/gxrsprite/p/9535191.html
Copyright © 2011-2022 走看看