程序如下:
Net14:
A(
O(
L#OetikerELK02Data.Length
L111
==I
)
O(
L#OetikerELK02Data.Length
L114
==I
)
)
A(
A(
L#OetikerELK02Data.RS232_Data[65]
LB#16#30
<>I
)
A(
L#OetikerELK02Data.RS232_Data[65]
LB#16#0
<>I
)
O
A(
L#OetikerELK02Data.RS232_Data[67]
LB#16#30
<>I
)
A(
L#OetikerELK02Data.RS232_Data[67]
LB#16#0
<>I
)
)
FP#DataUpdateImpuls
=#DataUpdate
Net15:
A#DataUpdate
JCN_006
CALL"4Zeichen_Real"
Ze1:=#OetikerELK02Data.RS232_Data[64]
Ze2:=#OetikerELK02Data.RS232_Data[65]
Ze3:=#OetikerELK02Data.RS232_Data[66]
Ze4:=#OetikerELK02Data.RS232_Data[67]
Z_R:=#OetikerELK02Data.ProCEssData.HC_gap_target_value
Net16:与上雷同
Net17:与上雷同
Net18:与上雷同
Net19:与上雷同
Net20:
A#DataUpdate
JCN_013
CALL"4Zeichen_Real"
Ze1:=#OetikerELK02Data.RS232_Data[100]
Ze2:=#OetikerELK02Data.RS232_Data[101]
Ze3:=#OetikerELK02Data.RS232_Data[102]
Ze4:=#OetikerELK02Data.RS232_Data[103]
Z_R:=#OetikerELK02Data.ProcESsData.HC_force_CUrrent_value
_021:NOP0
A#DataUpdate
S#ReadDataOK
//**************************************************//
疑问:
#DataUpdate为一个扫描周期的脉冲,net15、net16、net17、net18、net21的程序能够正确执行,但是net19、net20指令却没有执行。这是什么情况?单扫描周期的脉冲只能连续执行4个call命令吗?
最佳答案
没有这个说说,我也对你这个问题感兴趣,做了一个实验新建了6个FC,然后用沿触发调用。
每一个FC中写了一段简单的控制程序,在OB1中用沿触发调用。
FC1:
ANM0.1
=Q0.0
FC2:
ANM0.1
=Q0.1
以此类推到FC6
仿真后的效果,见附件
图片说明:
提问者对于答案的评价:
谢谢你的热心测试,但是情况确认如我所述