-> Hier kostenlos registrieren
Hallo kenne mich mit AWL nicht ganz so gut aus, ich programmiere lieber in SCL, aber ich darf nun aus SCL-Code AWL-Code machen 
Habe was im Internet gefunden was etwas geholfen hat, aber so ganz passt das alles noch nicht. Also hier mein SCL und mein bisheriger AWL-Code
So hier noch der SCL Code.
dürfte ja eigentlich nicht so schwer sein oder?

Habe was im Internet gefunden was etwas geholfen hat, aber so ganz passt das alles noch nicht. Also hier mein SCL und mein bisheriger AWL-Code
Code:
FUNCTION DCI_SendMessages: VOID
BEGIN
NETWORK
TITLE = DCI_SendMessages
U DCI_Messages.MatReceivedFLAG
NOT
SPB els1
Call DCI_STARTEVENT(MessageID:=21)
Call DCI_WRITEINTPARAM( id := 102,
val := Data.PortID)
CALL DCI_WRITEINTPARAM( id := 103,
val : =Data.SlotID)
Call DCI_WRITESTRINGPARAM( id :=202,
val :=Data.MaterialID)
U FALSE
DCI_MESSAGECOMPLETE
L FALSE
= #DCI_Messages.MatReceivedFLAG
els1:
end1:
U DCI_Messages.MatRemovedFLAG
NOT
SPB els2
L 22
DCI_STARTEVENT
L 102
DCI_WRITEINTPARAM DATA.PortID
L 103
DCI_WRITEINTPARAM DATA.SlotID
L 202
DCI_WRITESTRINGPARAM DATA.MaterialID
U FALSE
DCI_MESSAGECOMPLETE
U FALSE
= #DCI_Messages.MatRemovedFLAG
els2:
end2:
END_FUNCTION
Code:
//File: DCI_SendMessages.scl
FUNCTION DCI_SendMessages:VOID
IF DCI_Messages.MatReceivedFLAG THEN
DCI_StartEvent(MessageID:=21);
DCI_WriteIntParam(id:=102, val:=Data.PortID);
DCI_WriteIntParam(id:=103, val:=Data.SlotID);
DCI_WriteStringParam(id:=202, val:=Data.MaterialID);
DCI_MessageComplete();
DCI_Messages.MatReceivedFLAG:=False;
END_IF;
IF DCI_Messages.MatRemovedFLAG THEN
DCI_StartEvent(MessageID:=22);
DCI_WriteIntParam(id:=102, val:=Data.PortID);
DCI_WriteIntParam(id:=103, val:=Data.SlotID);
DCI_WriteStringParam(id:=202, val:=Data.MaterialID);
DCI_MessageComplete();
DCI_Messages.MatRemovedFLAG:=False;
END_IF;
END_FUNCTION
Zuletzt bearbeitet: