技术论坛

FC21功能如何应用

作者 主题
侠士

经验值: 1577
发帖数: 389
精华帖: 1
主题:【求助】FC21功能如何应用


只看楼主 楼主 2018-11-08 15:33:26

西门子840D系统,如果我想在加工程序中实现功能“直到某个I输入点如I0.0信号为0时”程序才能向后执行,我该怎么编程,PLC中的FC21该如何处理编?FC21基本功能看过了,还是不理解。感谢!


 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1516558&b_id=20&s_id=0&num=15

至圣

经验值: 28623
发帖数: 5906
精华帖: 61
回复:FC21功能如何应用


只看楼主 1楼 2018-11-08 18:52:57

你这个只需要单程序段就好了吧


欢迎交流,QQ:2301013064 邮箱:feige6@139.com
以下网友喜欢您的帖子:

  
侠圣

经验值: 4168
发帖数: 311
精华帖: 6
回复:FC21功能如何应用


只看楼主 2楼 2018-11-08 23:28:21

首先建议先看论坛,再提问,FC21的相关问题,隐版主好像还分享过PDF的示例。

针对你的问题,没必要用FC21,当然FC21可以实现;

推荐NC中用$A_IN[]信号来触发,PLC中将信号链接到对应地址。


春节求招数控或自动化工程师,有意联系martintree@qq.com
以下网友喜欢您的帖子:

  
侠士

经验值: 1577
发帖数: 389
精华帖: 1
回复:FC21功能如何应用


只看楼主 楼主 3楼 2018-11-09 10:09:31
以下是引用大树哈在2018-11-08 23:28:21的发言 >

首先建议先看论坛,再提问,FC21的相关问题,隐版主好像还分享过PDF的示例。

针对你的问题,没必要用FC21,当然FC21可以实现;

推荐NC中用$A_IN[]信号来触发,PLC中将信号链接到对应地址。

谢谢1楼2楼的解答,原来802D系统,实现这种功能,我是用VB49000000和$A_DBB[0]对应实现的;840D系统,DB10.DBB1.1与$A_IN[1]对应,PLC中用I0.0常开点控制DB10.DBB1.1的输出,加工程序中:

N10 IF $A_IN[1]==1 GOTB N10;这样就可以实现I0.0信号为0时程序继续向下走了吗?


 
以下网友喜欢您的帖子:

  
侠圣

经验值: 4168
发帖数: 311
精华帖: 6
回复:FC21功能如何应用


只看楼主 4楼 2018-11-09 21:33:21
以下是引用子烟在2018-11-09 10:09:31的发言 >3楼

谢谢1楼2楼的解答,原来802D系统,实现这种功能,我是用VB49000000和$A_DBB[0]对应实现的;840D系统,DB10.DBB1.1与$A_IN[1]对应,PLC中用I0.0常开点控制DB10.DBB1.1的输出,加工程序中:

N10 IF $A_IN[1]==1 GOTB N10;这样就可以实现I0.0信号为0时程序继续向下走了吗?

以下是引用大树哈在2018-11-08 23:28:21的发言 >:首先建议先看论坛,...

引用详细内容:

首先建议先看论坛,再提问,FC21的相关问题,隐版主好像还分享过PDF的示例。

针对你的问题,没必要用FC21,当然FC21可以实现;

推荐NC中用$A_IN[]信号来触发,PLC中将信号链接到对应地址。

具体的对应关系我记不清楚,方向是对的,至于$A_IN[0]这个跟默认的变量有关。

对我的来说,我默认了8位,也就是说前8位是硬件真实触发。第9位至第40位你自由定义,用PLC去控制,比如I0.0。所以我一般用$A_IN[9]。

你这种循环方式没有问题,不过用while不是更好?

WHILE  $A_IN[9]

ENDWHILE


春节求招数控或自动化工程师,有意联系martintree@qq.com
以下网友喜欢您的帖子:

  
奇侠

经验值: 6648
发帖数: 786
精华帖: 9
回复:FC21功能如何应用


只看楼主 5楼 2018-11-10 08:34:53

 通过PLC编程M代码通过“读入使能”也可实现


一切皆有可能
以下网友喜欢您的帖子:

  
侠士

经验值: 1577
发帖数: 389
精华帖: 1
回复:FC21功能如何应用


只看楼主 楼主 6楼 2018-11-12 13:48:38

谢谢大树哈的解答,我上面的用法试过了,能够实现那个功能。但是我还是不清楚,前8位和后40位的区别,简明调试手册上前8位说是“无硬件数字输入”,您说的“也就是说前8位是硬件真实触发。第9位至第40位你自由定义,用PLC去控制,比如I0.0。所以我一般用$A_IN[9]“。像一般PLC输入点I0.0用前8位和用第9位至第40位控制,会有什么不同。

另外,实现我的功能,如果用WHILE,是不是该WHILE  $A_IN[9]=0

                                                              ENDWHILE



 
以下网友喜欢您的帖子:

  
侠圣

经验值: 4168
发帖数: 311
精华帖: 6
回复:FC21功能如何应用


只看楼主 7楼 2018-11-12 13:57:41
以下是引用子烟在2018-11-12 13:48:38的发言 >6楼

谢谢大树哈的解答,我上面的用法试过了,能够实现那个功能。但是我还是不清楚,前8位和后40位的区别,简明调试手册上前8位说是“无硬件数字输入”,您说的“也就是说前8位是硬件真实触发。第9位至第40位你自由定义,用PLC去控制,比如I0.0。所以我一般用$A_IN[9]“。像一般PLC输入点I0.0用前8位和用第9位至第40位控制,会有什么不同。

另外,实现我的功能,如果用WHILE,是不是该WHILE  $A_IN[9]=0

                                                              ENDWHILE


能用就好,具体$A_IN[]规则我其实也没有掌握的那么好,只是我的理解,并且运用没有出问题,感兴趣可以自己深入了解,再跟大伙儿交流。

针对你的程序,while循环是当条件为真的话,死循环。所以只有条件为假,才会跳出来走。故我提供的答案应该是对的。这样"当输入点如I0.0信号为0时”,程序继续,否则持续等待。(这种可以跑的程序,自己试一遍,看效果不就完啦


春节求招数控或自动化工程师,有意联系martintree@qq.com
以下网友喜欢您的帖子:

  
奇侠

经验值: 6648
发帖数: 786
精华帖: 9
回复:FC21功能如何应用


只看楼主 8楼 2018-11-13 08:44:11

如果你的NC程序是一个“黑盒”,怎么弄都可以,如果是给最终用户使用M代码更直观,也容易理解。毕竟西门子的系统用户等级的概念。读入使能后主界面会有提示的。

A  "DM80"  //M代码相应地址

S  M100.0

A M100.0

AN I0.0

R M100.0

A  M100.0

= DB21.DBX6.1

疑惑的是你们其它的M代码是怎么处理的,比如外部有个阀之类,当阀动作后一般都有相应的到位检测,通过编程读入使能相当于“闭环控制”。


一切皆有可能
以下网友喜欢您的帖子:

  
至圣

经验值: 16421
发帖数: 2400
精华帖: 0
回复:FC21功能如何应用


只看楼主 9楼 2018-11-13 08:52:04

应该去提问区!


开心每一天,懂得包容、感恩!
以下网友喜欢您的帖子:

  
至圣

经验值: 28623
发帖数: 5906
精华帖: 61
回复:FC21功能如何应用


只看楼主 10楼 2018-11-13 15:21:07
以下是引用大树哈在2018-11-12 13:57:41的发言 >7楼

能用就好,具体$A_IN[]规则我其实也没有掌握的那么好,只是我的理解,并且运用没有出问题,感兴趣可以自己深入了解,再跟大伙儿交流。

针对你的程序,while循环是当条件为真的话,死循环。所以只有条件为假,才会跳出来走。故我提供的答案应该是对的。这样"当输入点如I0.0信号为0时”,程序继续,否则持续等待。(这种可以跑的程序,自己试一遍,看效果不就完啦

以下是引用子烟在2018-11-12 13:48:38的发言 >6楼:谢谢大树哈的解答,...

引用6楼详细内容:

谢谢大树哈的解答,我上面的用法试过了,能够实现那个功能。但是我还是不清楚,前8位和后40位的区别,简明调试手册上前8位说是“无硬件数字输入”,您说的“也就是说前8位是硬件真实触发。第9位至第40位你自由定义,用PLC去控制,比如I0.0。所以我一般用$A_IN[9]“。像一般PLC输入点I0.0用前8位和用第9位至第40位控制,会有什么不同。

另外,实现我的功能,如果用WHILE,是不是该WHILE  $A_IN[9]=0

                                                              ENDWHILE


不建议用死循环,尽量用NC接口信号,程序暂停之类的


欢迎交流,QQ:2301013064 邮箱:feige6@139.com
以下网友喜欢您的帖子:

  
侠士

经验值: 1577
发帖数: 389
精华帖: 1
回复:FC21功能如何应用


只看楼主 楼主 11楼 2018-11-16 08:40:55
以下是引用我心依旧555在2018-11-13 08:44:11的发言 >8楼

如果你的NC程序是一个“黑盒”,怎么弄都可以,如果是给最终用户使用M代码更直观,也容易理解。毕竟西门子的系统用户等级的概念。读入使能后主界面会有提示的。

A  "DM80"  //M代码相应地址

S  M100.0

A M100.0

AN I0.0

R M100.0

A  M100.0

= DB21.DBX6.1

疑惑的是你们其它的M代码是怎么处理的,比如外部有个阀之类,当阀动作后一般都有相应的到位检测,通过编程读入使能相当于“闭环控制”。

谢谢,我们这边“阀动作后的到位检测“,一般也是用M代码处理的,只不过到位信号检测是用NC接口信号控制,NC程序判断信号到来后程序继续。


 
以下网友喜欢您的帖子:

  
侠圣

经验值: 4168
发帖数: 311
精华帖: 6
回复:FC21功能如何应用


只看楼主 12楼 2018-11-16 08:47:20
以下是引用子烟在2018-11-16 08:40:55的发言 >11楼

谢谢,我们这边“阀动作后的到位检测“,一般也是用M代码处理的,只不过到位信号检测是用NC接口信号控制,NC程序判断信号到来后程序继续。

以下是引用我心依旧555在2018-11-13 08:44:11的发言 >8楼:如果你的NC程序是...

引用8楼详细内容:

如果你的NC程序是一个“黑盒”,怎么弄都可以,如果是给最终用户使用M代码更直观,也容易理解。毕竟西门子的系统用户等级的概念。读入使能后主界面会有提示的。

A  "DM80"  //M代码相应地址

S  M100.0

A M100.0

AN I0.0

R M100.0

A  M100.0

= DB21.DBX6.1

疑惑的是你们其它的M代码是怎么处理的,比如外部有个阀之类,当阀动作后一般都有相应的到位检测,通过编程读入使能相当于“闭环控制”。

难怪你需要I0.0到位信号,用了M代码的读入禁止,就完全没必要NC做判断了,PLC就能搞定。

消化下别人给的代码,应该就能完美解决你的问题


春节求招数控或自动化工程师,有意联系martintree@qq.com
以下网友喜欢您的帖子:

  
奇侠

经验值: 6648
发帖数: 786
精华帖: 9
回复:FC21功能如何应用


只看楼主 13楼 2018-11-16 09:24:39
以下是引用子烟在2018-11-16 08:40:55的发言 >11楼

谢谢,我们这边“阀动作后的到位检测“,一般也是用M代码处理的,只不过到位信号检测是用NC接口信号控制,NC程序判断信号到来后程序继续。

以下是引用我心依旧555在2018-11-13 08:44:11的发言 >8楼:如果你的NC程序是...

引用8楼详细内容:

如果你的NC程序是一个“黑盒”,怎么弄都可以,如果是给最终用户使用M代码更直观,也容易理解。毕竟西门子的系统用户等级的概念。读入使能后主界面会有提示的。

A  "DM80"  //M代码相应地址

S  M100.0

A M100.0

AN I0.0

R M100.0

A  M100.0

= DB21.DBX6.1

疑惑的是你们其它的M代码是怎么处理的,比如外部有个阀之类,当阀动作后一般都有相应的到位检测,通过编程读入使能相当于“闭环控制”。

这也算一种控制思路吧。。。。你们不会把比如阀未到位的报警也做到NC里了吧?

窃以为不管是自家的设备或者你们是制造商,PLC能够完成的工作最好就做在上面,虽然大多时候要协调,NC部分一般有第三方参予,这样做换其它的人应该有所困惑吧,M代码的读入使能控制应该算是数控系统的标准的控制流程吧。


一切皆有可能
以下网友喜欢您的帖子:

  
侠士

经验值: 1577
发帖数: 389
精华帖: 1
回复:FC21功能如何应用


只看楼主 楼主 14楼 2018-11-16 10:34:03
以下是引用我心依旧555在2018-11-16 09:24:39的发言 >13楼

这也算一种控制思路吧。。。。你们不会把比如阀未到位的报警也做到NC里了吧?

窃以为不管是自家的设备或者你们是制造商,PLC能够完成的工作最好就做在上面,虽然大多时候要协调,NC部分一般有第三方参予,这样做换其它的人应该有所困惑吧,M代码的读入使能控制应该算是数控系统的标准的控制流程吧。

以下是引用子烟在2018-11-16 08:40:55的发言 >11楼:谢谢,我们这边“阀...

引用11楼详细内容:

谢谢,我们这边“阀动作后的到位检测“,一般也是用M代码处理的,只不过到位信号检测是用NC接口信号控制,NC程序判断信号到来后程序继续。

以下是引用我心依旧555在2018-11-13 08:44:11的发言 >8楼:如果你的NC程序是...

引用8楼详细内容:

如果你的NC程序是一个“黑盒”,怎么弄都可以,如果是给最终用户使用M代码更直观,也容易理解。毕竟西门子的系统用户等级的概念。读入使能后主界面会有提示的。

A  "DM80"  //M代码相应地址

S  M100.0

A M100.0

AN I0.0

R M100.0

A  M100.0

= DB21.DBX6.1

疑惑的是你们其它的M代码是怎么处理的,比如外部有个阀之类,当阀动作后一般都有相应的到位检测,通过编程读入使能相当于“闭环控制”。

你这种控制方法用在“阀控制以及到位检测“更方便一些,我上面的那种NC程序中无法用M指令控制的状况下就不可以了,我实现的是几台机床之间的互锁功能。


 
以下网友喜欢您的帖子:

  
奇侠

经验值: 6648
发帖数: 786
精华帖: 9
回复:FC21功能如何应用


只看楼主 15楼 2018-11-16 10:45:50
以下是引用子烟在2018-11-16 10:34:03的发言 >

你这种控制方法用在“阀控制以及到位检测“更方便一些,我上面的那种NC程序中无法用M指令控制的状况下就不可以了,我实现的是几台机床之间的互锁功能。

几台机床之间的控制也是有必要,这相当于应答,确认完成。。。


一切皆有可能
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
FC21功能如何应用
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。