GEFanuc Series SIX COMM BLOCK command

SkinniMT

Guest
S
Hi All,

Can anyone give me some information on the GE Fanuc Series SIX COMM BLOCK instruction please.

The full rung has this form:

O1021 AO0797 Const R03145
---] [----] [----[WINDOW ADDRESS COMM BLOCK]---()
007B

Regards,
SkinniMT
 
SkinniMT said:
Hi All,

Can anyone give me some information on the GE Fanuc Series SIX COMM BLOCK instruction please.

The full rung has this form:

O1021 AO0797 Const R03145
---] [----] [----[WINDOW ADDRESS COMM BLOCK]---()
007B


Regards,
SkinniMT

SkinniMT

The first thing I done was to straighten out your ladder. The window function is a communications request that supports Expanded I/O. In your example the address to be communicated with in the window function is 007B, the first two digits (00) means that the expanded I/O card is located in channel 0 of the main chain, the next two digits (7B) denotes the address of the expanded I/O card, in your case the address is 985 - 992 (I985 - I992 and O985 - O992). The register R3145 by the COMM BLOCK command indicates the first register in the WINDOW command block, the command block is a set of registers used to denote what information you want. If you search for R3145, you will probably come across a 'block move', which will have 8 registers being moved into register R3145, what these 8 registers contain will tell you what is being read or written. If you note the values of all the registers on the 'block move' rung and post them here, exactly as they appear in your program then I will be able to tell you what they mean.

Paul
 
Thank you very much Paul for responding to my question.

A search of R03145 brings me to the below rung in the program:


AO0461 R03145
---] [---[ BLOCK MOVE ]---()
+00985 +00012 +00000 +00026 +02435 +00000 +08224

I know that the BLOCK MOVE command copies the above 7 constants to 7 memory locations starting from address R03145. However, what each of those constants do actual mean in reference to the WINDOW command?

Regards,
SkinniMT.
 
It looks like you've got a Genius Bus Controller at address 985. The Block Move sets up a 'Write Device' datagram to the Genius block at bus address 26. A datagram is a message directed to a specific device on the Genius network.

The first register in the Block Move defines the address of the Bus Controller (I/O0985).

The second register value of 12 is the 'Send Datagram' command.

The third register is cleared here, but it will contain the status response from the Bus Controller once the datagram gets sent.

The fourth register value of 26 is the Bus address of the Genius block to which the datagram is directed.
The fifth register defines the starting address of another block of registers (R2435). These registers contain the contents of the datagram.

The sixth register value of zero is puzzling to me. It should be the number of bytes in the datgram. I can only conclude that it gets written to somewhere else in the program, probably in the same place where data gets loaded into registers R2435 and up.

The seventh register is easier understood when you convert the decimal value to hex (8224d = 2020h). The high byte is the datagram priority (20 = normal). The low byte is the datagram code (20 = write data).

Now you'll need to look in the program to see what gets loaded into registers 2435 and up. You should also see what device is at Genius Bus address 26. Don't forget to check out register R3150. That's the puzzling sixth register of the original block move.

Good luck, and keep us posted on your progress.
 
SkinniMT

How many CPU's do you have on your bus system? I ask this because I have always thought that the 'Datagram' function was used to send data between CPU's.

I agree with Steve regarding the 6th register, it should have a value in it but maybe a value is written into this register somewhere else in your program, when the data has changed and requires sending.

Paul
 
There are over 10 PLCs altogether on the Genius network.

Thanks Steve, for the detailed info about each of the register in the WINDOW command.

You are right about the sixth register that it is being overwritten by the program. However, its value is set again before the BLOCK MOVE command.

Everything becomes clear now. Tnank You Very Much Guys.

Regards,
SkinniMT.
 

Similar Topics

Is there any way to make a connection directly between a GE Fanuc 90-30 and a Mitsubishi FX Series PLC? If there is no means to connect directly...
Replies
21
Views
4,138
Hi, I have gefanuc plc system 90-30 series and proficy m/c edition 5.3.My one NIU card showing LED status are BUS B and IO enable in amber...
Replies
0
Views
1,479
Hello ppl, I would really appreciate it if someone can send me a sample program for GeFanuc series 90 PLC. What I need to do is..I'm taking input...
Replies
1
Views
5,531
hi my name carli and iam looking for the program call logicmaster 90 dont know what version but the one that works with windows 98 me xp. i still...
Replies
5
Views
2,240
Did anyone every develop a computer base programming software for the Series One PLC by GE-Fanuc? If so is the software still available and by...
Replies
2
Views
4,834
Back
Top Bottom