11/20/2013 2:04 PM | |
Joined: 1/28/2009 Last visit: 10/11/2024 Posts: 6852 Rating: (1365)
|
Hello, I also provide a link to discussion we had peviously on a same issue before: how do change char to byte The solution is still applicable to 8 characters that form a 32-bit data.Check the attachment: Best regards, Hamid Hosseini |
This contribution was helpful to1 thankful Users |
11/20/2013 5:02 PM | |
Joined: 1/28/2009 Last visit: 10/11/2024 Posts: 6852 Rating: (1365)
|
Hello again, Smiffy's codes miss a transferring section from "CHAR" to "HEX" equivalent.The data type CHAR represents a single character stored in ASCII format.Example for that would be "'F'" that has the equivalent "B#16#46 " in HEX format.He also presented a nice output formation that can be automated by loop and extensive calculation would be avoided:
[code] ORGANIZATION_BLOCK OB 1 TITLE = "Main Program Sweep (Cycle)" VERSION : 0.1 VAR_TEMP OB1_EV_CLASS : BYTE ; //Bits 0-3 = 1 (Coming event), Bits 4-7 = 1 (Event class 1) OB1_SCAN_1 : BYTE ; //1 (Cold restart scan 1 of OB 1), 3 (Scan 2-n of OB 1) OB1_PRIORITY : BYTE ; //Priority of OB Execution OB1_OB_NUMBR : BYTE ; //1 (Organization block 1, OB1) OB1_RESERVED_1 : BYTE ; //Reserved for system OB1_RESERVED_2 : BYTE ; //Reserved for system OB1_PREV_CYCLE : INT ; //Cycle time of previous OB1 scan (milliseconds) OB1_MIN_CYCLE : INT ; //Minimum cycle time of OB1 (milliseconds) OB1_MAX_CYCLE : INT ; //Maximum cycle time of OB1 (milliseconds) OB1_DATE_TIME : DATE_AND_TIME ; //Date and time OB1 started buffer : DINT ; Zahlung1 : INT ; shift : INT ; Zahlung2 : INT ; END_VAR BEGIN NETWORK TITLE = L 0; T #buffer; L P#M 0.0; LAR1 ; LAR2 ; L 8; LP: T #Zahlung1; A( ; L MB [AR1,P#0.0]; L 65; >=I ; ) ; A( ; L MB [AR1,P#0.0]; L 70; <=I ; ) ; JCN SND; L MB [AR1,P#0.0]; L 55; -I ; T MB [AR2,P#10.0]; JC END; SND: NOP 0; A( ; L MB [AR1,P#0.0]; L 48; >=I ; ) ; A( ; L MB [AR1,P#0.0]; L 57; <=I ; ) ; JCN END; L MB [AR1,P#0.0]; L 48; -I ; T MB [AR2,P#10.0]; END: NOP 0; +AR1 P#1.0; +AR2 P#1.0; L #Zahlung1; LOOP LP; // FINAL FORMATION L P#M 10.0; LAR1 ; L 0; T #buffer; L 8; LP2: T #Zahlung2; L 8; TAK ; -I ; L 4; *I ; T #shift; // MAKE SHIFTING AUTOMATED L B [AR1,P#0.0]; L B#16#F; AW ; L #shift; TAK ; SLD ; L #buffer; OD ; T #buffer; //FORMING OUTPUT IN EACH ITERATION L P#1.0; +AR1 ; L #Zahlung2; LOOP LP2; NOP 0; L #buffer; //FINAL RESULT T MD 200; END_ORGANIZATION_BLOCK[/code] Hope to upload my source project also here. Best regards, Hamid Hosseini |
Last edited by: hdhosseini at: 11/20/2013 5:06 PM |
|
This contribution was helpful to2 thankful Users |
11/20/2013 5:14 PM | |
Joined: 1/28/2009 Last visit: 10/11/2024 Posts: 6852 Rating: (1365)
|
And the source project,Please feel free to share your feedback for improvement.
AttachmentForum_e_.zip (74 Downloads) |
This contribution was helpful to1 thankful Users |
Follow us on