Mitsubishi A series command

Tim

Member
Join Date
May 2002
Location
Indiana
Posts
291
Wazzzzupppppppp!

Just need to know if anyone knows of an instruction on an A1S plc that will allow me to look for the condition of a specific bit in a data register and move it to a specific destination?

Here is what I'm trying to do. I have a Hakko touch screen hooked up to an A1S Mitsubishi plc. The touch screen has a read and write area in its system memory. The read area is assigned a register and this is where the touch screen is looking for any bits that might be on. Example I used D900 for n, D901 for n+1, and D902 for n+2. Each bit in the registers are allocated to do certain things depending on which bit is turned on. For example, D900 has several functions, 16 to be exact. Bit 0 is allocated to overlap 1. Overlap is just a pop-up display area that sits on the screen currently being displayed. I can call up this overlap several ways, but the way I need to pop-up is when the Plc tells it to. No problem, I use the instruction [BSET D900 KO] in the plc, this works fine.

The problem I'm having is I want to tell the plc if the overlap is actually on. Kind of like the honor system mentioned on a previous post. The touch screen has a write area also that can be set up to reflect the status of the touch screen. Example, D910 bit 0 will turn on if I call up overlap 0 with the plc. What I need to do is use this on condition of bit 0 in D910 to let the plc know that overlap 0 is actually being shown on the screen. The problem is the other 15 bits in D910 may be on or off at times and I can't just say that if D910 = 1 the overlap must be displayed. For instance, in the same data register D910 bit 4 may be assigned to the backlighting. If backlight on the touch screen is on then bit 4 is on, now D910 = 16.

I now in the FX series there is an instruction called BON. I believe it goes something like this> [BON D910 K0 M100] This instruction will look at a specific register and a specific bit within that register and move its condition to an internal relay "M100". So, if the overlap 0 was on it would move B0 state to M100, then I can use the on condition of M100 as a good indicator that overlap 0 is on.

My problem, I cannot find an instruction to do this on the A1S plc.
Any ideas?

Tim
 
Tim,

If you're just wanting to know the value of the LSB you could use the division function.

m9036 (always on bit)
------II---------------------------[div d910 k2 d10?]



I believe the way this works is that you simply divide the value of d910 by 2 and send that value to d10(or whatever you use) AND MOVE ANY REMAINDER INTO D11. So if your LSB is 1(overlap is displayed) d11 is equal to 1. If you find another solution let me know. I am more use to the fx series also and don't have an A series manual with me. I will look later to make sure this will work.
 
I use MOV instruction - in your case it would be MOV D910 K4M100 for 16-bit data transfer or DMOV D910 K8M100 for 32-bit data transfer.
When you use K in front of X, Y, M, the number after K specifies number of digits you want to use for the transfer instruction. Up to 16 points can be specified in 4 point increments when a 16-bit instruction is used, and up to 32 points can be specified in 4 point increments when a 32-bit instruction is used.
Example
If you use instruction MOV D200 K1M32
K1 specifies 4 points
bit 0 of D200 goes to M32, bit 1 goes to M33 bit 2 to M34 and bit 3 to M35.
K2 - 8 points
K3 - 12 points
K4 - 16 points


Krys
 

Similar Topics

Is K4M101 a constant? Is K7 a constant? What does this instruction do? Thanks
Replies
19
Views
5,084
how to communicate FactoryTalk Optix and Mitsubishi Q Series. I want to know the details of that
Replies
0
Views
22
In this sample programming, what does U4 mean? Any assistance would be greatly appreciated.
Replies
8
Views
261
Back
Top Bottom