博图SCL编程怎么学,求各路前辈指导 点击:4336 | 回复:12



张文博

    
  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 11回
  • 年度积分:0
  • 历史总积分:228
  • 注册:2017年4月04日
发表于:2018-12-13 14:49:51
楼主

博图SCL编程怎么学,求各路前辈指导;小弟入行三年,一直日系,刚转战西门子,想学习SCL编程,但是感觉无从下手,各位前辈有没有示例程序之类的,小弟不甚感激;

邮箱:916650259@qq.com




张文博

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 11回
  • 年度积分:0
  • 历史总积分:228
  • 注册:2017年4月04日
发表于:2018-12-13 14:54:31
1楼

求前辈们指点迷津

yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10210回
  • 年度积分:2747
  • 历史总积分:48332
  • 注册:2005年4月22日
发表于:2018-12-13 14:58:15
2楼

SCL即ST语言,且其他厂牌的ST语言更正规,不知道如何去看ST语言,那么传统编程语言Pascal总能看得懂吧。


HAVE FUN!

张文博

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 11回
  • 年度积分:0
  • 历史总积分:228
  • 注册:2017年4月04日
发表于:2018-12-13 15:08:59
3楼


回复内容:

对: yuanle SCL即ST语言,且其他厂牌的ST语言更正规,不知道如... 内容的回复!

-------------------------

好的,谢谢了

黑色的天空

  • 精华:0帖
  • 求助:8帖
  • 帖子:13帖 | 131回
  • 年度积分:0
  • 历史总积分:161
  • 注册:2015年4月30日
发表于:2018-12-13 15:17:21
4楼

我也在学这个,个人觉得先把C语言掌握起来,再来学SCL应该会更好的掌握!

张文博

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 11回
  • 年度积分:0
  • 历史总积分:228
  • 注册:2017年4月04日
发表于:2018-12-13 15:26:41
5楼


回复内容:

对: 黑色的天空 我也在学这个,个人觉得先把C语言掌握起来,再来学SCL... 内容的回复!

-------------------------

C语言基础吗?您有没有程序呀,用V14或者V15写的,我打开先大概看看

eagleking68

  • 精华:0帖
  • 求助:2帖
  • 帖子:6帖 | 407回
  • 年度积分:44
  • 历史总积分:890
  • 注册:2010年7月15日
发表于:2018-12-13 16:34:26
6楼

SCL你首先下个正规的西门子的手册,跟教程差不多,网上实例也很多,你都可以边看教程变学习,估计2天内就没问题了,用的最多就是IF,FOR,switch,这几种语句,除此以外,你还有知道数据转换,还有子程序调用,就这点东西。至于变量的命名和规划,还有寻址也不怎么有超出以前太多。语法,注意匹配流程控制关键字,还有别漏了分号,变量的使用先声明定义再使用。不是必须先学C再来学这个。

eagleking68

  • 精华:0帖
  • 求助:2帖
  • 帖子:6帖 | 407回
  • 年度积分:44
  • 历史总积分:890
  • 注册:2010年7月15日
发表于:2018-12-13 16:35:16
7楼

如果用博图的话,帮助资料里讲的就很详细,各种语句的实例也很到位

张文博

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 11回
  • 年度积分:0
  • 历史总积分:228
  • 注册:2017年4月04日
发表于:2018-12-13 16:35:41
8楼


回复内容:

对: eagleking68 SCL你首先下个正规的西门子的手册,跟教程差不多,网上... 内容的回复!

-------------------------

好的,谢谢,受益了

场子

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 284回
  • 年度积分:0
  • 历史总积分:179
  • 注册:2015年1月01日
发表于:2018-12-14 23:33:28
9楼

回复内容:

对:张文博 回复内容:对: 黑色的天空 我也在学这个,个人觉得先把C语言掌握起来,再来学SCL... 内容的回复!-------------------------C语言基础吗?您有没有程序呀,用V14或者V15写的,我打开先大概看看     内容的回复:

c语言学好了还搞这种不伦不类的二次脚本语言就浪费时间了

请叫我王老湿

  • [版主]
  • 精华:0帖
  • 求助:0帖
  • 帖子:622帖 | 8531回
  • 年度积分:91
  • 历史总积分:332562
  • 注册:2011年4月25日
发表于:2018-12-15 11:04:50
10楼

楼主多看编程手册,从最基本开始入门,多做项目

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 156回
  • 年度积分:0
  • 历史总积分:1219
  • 注册:2007年2月14日
发表于:2018-12-29 11:08:26
11楼

有Basic基础即可很快入门,Basic的风格成分多些,西门子的SCL既有PASICAL的风格,又有C的风格,显得不纶不类。

jacktank

  • 精华:0帖
  • 求助:3帖
  • 帖子:17帖 | 317回
  • 年度积分:78
  • 历史总积分:2298
  • 注册:2014年4月10日
发表于:2019-01-16 14:15:48
12楼

//**************泡沫输送链*********

//

#使能状态 := #使能 OR #s_bTest;

#s_tonFullFoamSensor(IN := #泡沫链满泡沫检测 AND #泡沫链满泡沫检测2,

                     PT := T#1S);

IF #使能 THEN

    #s_bTest := FALSE;

END_IF;

CASE #分泡沫步 OF

    0:

        #止下泡沫气缸 := TRUE;

        #下泡沫气缸 := FALSE;

        #下泡沫吹气 := FALSE;

        IF #使能状态                    (*不启用时, 执行完当前循环后, 停止*)

        THEN

            IF NOT #下泡沫气缸处有泡沫 THEN

                #吹泡沫延时(IN := FALSE,

                               PT := t#10ms);

                #分泡沫步 := 10;

            END_IF;

        ELSE

            #吹泡沫延时(IN := FALSE,PT := t#10ms);

        END_IF;

    10: (**)

        #止下泡沫气缸 := TRUE;

        #s_bFoamConvStart := TRUE;

        #s_tonFoamReady(IN := #泡沫到泡沫仓,

                        PT := T#300MS);

        IF #s_tonFoamReady.Q THEN

            #s_tonFoamReady(IN := FALSE,PT:=t#10ms);

            #分泡沫步 := 20;

        END_IF;

    20:

        #止下泡沫气缸 := FALSE;

        #s_bFoamConvStart := FALSE;

        

        IF NOT #止下泡沫气缸 THEN

            #下泡沫气缸 := TRUE;

        END_IF;

        

        #s_tonStopFoam(IN := #下泡沫气缸下到位,

                       PT := T#100MS);

        

        #s_tonLimit(IN := TRUE,

                    PT := T#3S);

        IF #s_tonStopFoam.Q THEN

            #止下泡沫气缸 := TRUE;

            #s_tonFoamReady(IN := #止下泡沫气缸,

                            PT := T#200MS);

            IF #s_tonFoamReady.Q THEN

                #下泡沫气缸 := FALSE;

                #s_tonStopFoam(IN := FALSE, PT := t#10ms);

                #s_tonFoamReady(IN := FALSE, PT := t#10ms);

                #s_tonLimit(IN := FALSE, PT := t#10ms);

                #分泡沫步 := 25;

            END_IF;

            

        END_IF;

        IF #s_tonLimit.Q THEN

            #下泡沫气缸 := FALSE;

            #s_tonStopFoam(IN := FALSE,PT:=t#10ms);

            #s_tonFoamReady(IN := FALSE,PT:=t#10ms);

            #s_tonLimit(IN := FALSE,PT:=t#10ms);

            #分泡沫步 := 0;

        END_IF;

    25:

        #s_tonLimit(IN := NOT #下泡沫气缸处有泡沫,

                    PT := T#3S);

        #s_tonFoamReady(IN := #下泡沫气缸处有泡沫,

                        PT := T#100MS);

        IF #s_tonFoamReady.Q OR #s_tonLimit.Q THEN

            #s_tonLimit(IN := FALSE,PT:=t#10ms);

            #s_tonFoamReady(IN := FALSE,PT:=t#10ms);

            #分泡沫步 := 30;

        END_IF;

    30: (*吹气*)

        #吹泡沫延时(IN := TRUE,

                       PT := T#600MS);

        #无泡沫延时(IN := NOT #下泡沫气缸处有泡沫,

                     PT := T#300MS);

        (*bStopFoamCy := FALSE;*)

        #下泡沫气缸 := FALSE;

        #下泡沫吹气 := TRUE;

        IF #吹泡沫延时.Q OR #无泡沫延时.Q THEN

            #吹泡沫延时(IN := FALSE,PT:=t#10ms);

            #无泡沫延时(IN := FALSE,PT:=t#10ms);

            #下泡沫吹气 := FALSE;

            #分泡沫步 := 0;

        END_IF;

END_CASE;


#泡沫链满检测延时(IN := #泡沫链满泡沫检测 AND #泡沫链满泡沫检测2,

                   PT := #泡沫链满延时停输泡沫);

#泡沫链空检测延时(IN := NOT #泡沫链满泡沫检测 OR NOT #泡沫链满泡沫检测2,

                   PT := #缺泡沫延时启动输泡沫);


IF #泡沫链满检测延时.Q AND NOT #s_bFoamConvStart  OR NOT #使能 THEN

    #输泡沫链 := FALSE;

END_IF;

IF (#泡沫链空检测延时.Q OR #s_bFoamConvStart) AND #使能 THEN

    #输泡沫链 := TRUE;

END_IF;



热门招聘
相关主题

官方公众号

智造工程师