derk
级别: 略有小成
精华主题: 0
发帖数量: 25 个
工控威望: 211 点
下载积分: 580 分
在线时间: 34(小时)
注册时间: 2007-09-19
最后登录: 2023-12-06
查看derk的 主题 / 回贴
楼主  发表于: 2009-03-23 21:33
请教一下各位, 如何用结构文本来编写单按钮起停电路??
cvlsam
富士低压,POD(觸摸屏),PLC专卖
级别: VIP会员

精华主题: 3 篇
发帖数量: 6738 个
工控威望: 37093 点
下载积分: 8550 分
在线时间: 9387(小时)
注册时间: 2006-09-13
最后登录: 2024-05-03
查看cvlsam的 主题 / 回贴
1楼  发表于: 2009-03-23 22:17
要使用的边沿检测指令,在PLC的ST语言中,一般厂家会提供边沿检测指令。

然后根据边沿检测的指令做条件判断就可以了。
如:边沿检测指令的Q(输出端)为Temp

IF Temp THEN
      OUT := INPUT XOR OUT;
END_IF;

以上
cvlsam
富士低压,POD(觸摸屏),PLC专卖
级别: VIP会员

精华主题: 3 篇
发帖数量: 6738 个
工控威望: 37093 点
下载积分: 8550 分
在线时间: 9387(小时)
注册时间: 2006-09-13
最后登录: 2024-05-03
查看cvlsam的 主题 / 回贴
2楼  发表于: 2009-03-23 22:19
如富士SPH系列PLC提供有边沿检测指令,用户可以这样写单按钮起停:
Tigger_Plus_1(Input:= Button );
TEMP:=Tigger_Plus_1.Output_Plus;

IF TEMP THEN
    Out_Coil :=  Button XOR Out_Coil;
END_IF;

以上
wangfang110
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看wangfang110的 主题 / 回贴
3楼  发表于: 2009-03-24 17:11
果然厉害!! 谢谢。
wangfang110
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看wangfang110的 主题 / 回贴
4楼  发表于: 2009-03-25 08:54
楼上的哥哥:
看了一下CX-PRO的帮助没发现边沿检测指令在ST中的定义,比如说要将 A定义为BOOL 地址是I0.0    怎么样将A 定义为 边沿检测指令呢?
wangfang110
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看wangfang110的 主题 / 回贴
5楼  发表于: 2009-03-25 13:45
VAR_TEMP
  // Temporary Variables  

END_VAR

  // Instruction Section

qx4.1:= ix0.4 AND NOT mx0.0;
mx0.0:= ix0.4;

  qx4.3:=qx4.1 XOR qx4.3;
  
  FC2 := 0;
END_FUNCTION
I0.4作为起停按钮 Q4.1 作为边沿检测 Q4.3 是输出。
zl383901
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看zl383901的 主题 / 回贴
6楼  发表于: 2009-03-28 09:36
    
qdpdliyan
qdpdly
级别: 略有小成
精华主题: 0
发帖数量: 305 个
工控威望: 338 点
下载积分: 7205 分
在线时间: 464(小时)
注册时间: 2009-02-14
最后登录: 2024-04-29
查看qdpdliyan的 主题 / 回贴
7楼  发表于: 2009-03-28 23:48
hhdmywp
级别: 探索解密
精华主题: 0
发帖数量: 38 个
工控威望: 186 点
下载积分: 509 分
在线时间: 32(小时)
注册时间: 2007-12-24
最后登录: 2020-01-02
查看hhdmywp的 主题 / 回贴
8楼  发表于: 2009-07-23 08:58
用保持指令做一个就可以阿,很简单