Program help

TedH

Member
Join Date
Sep 2008
Location
Michigan
Posts
13
I am trying to add to an existing program. It puffs air 7 times & then a marker is pushed up by an air cylinder to spot a product. I have (I think) sucessfully added an 8th air puff But I am unable to add additional puffs. When I enter a rung I get the following error: "(E14) Contact instruction not allowed after function block instruction." I am trying to end the rung with -( )-. I don't have any programming experience so this is a challenge for me. The program is not very long. Thanks.
 
It sounds like you are trying to add a coil instruction, the -( )- after a function block instruction, like a counter.

Your rung probably looks like this:

-||--||-----------|____|---( )-


Many PLC programs do not like having multiple output types on the same line.
 
I saved a screen shot of what I am trying to do & saved it as a note pad file. How do I go about posting it.
 
Best way is to press the "print screen" button then save in "paint" as a JPEG. Then select display picture and browse to JPEG location

attach-pic.JPG
 
hi

you are only allowed a coil or another function block after a function block.

ie, you cannot have a -||- or -|/|- after a function block
 
Ted started this discussion over at the GE Fanuc forum, but that forum doesn't permit attaching images or files. We got to the point where I was guessing at what might be causing Ted's problem so I suggested he move here so that he could post a screen capture.

He's using Logicmaster software, and I think he may not be accepting a completed rung properly. If that's the case, even though he thinks there are no contacts after the timer, Logicmaster thinks otherwise.

If anybody wants to review what has already transpired, the thread is here:

http://gefanuc.bnsi.net/eforum/showthread.php?t=11282
 
I cannot seem to save the screen print in Paint. I can save it in a text doc. This below is probably of no help.

│RELAY │TMRCTR │MATH │RELATN │BITOP │DATAMV │TABLES │CONVRT │CONTRL │OPN SP
1──] [─ 2──]/[─ 3 4 5──( )─ 6─(SM)─ 7─(RM)─ 8vert │ 9horz ─10more
(E140) Contact instruction not allowed after function block instruction
>
│ │ │
│ CONST ─┤PV │
│ +00005 │ │
│ └─────┘
│ %R0075




│%M0026 %M0028 %M0027
├──┤ ├─────┤/├─────────────────────────────────────────────────────────────( )──




│%M0026 %M0020 %Q0002
├──┤ ├─────┤/├─────────────────────────────────────────────────────────────( )──

OFFLINE
C:\LM90\MFLOAT2 PRG: MFLOAT2 BLK: _MAIN SIZE: 558 RUNG 0028
REPLACE %M0028 : ::
 
It looks to me like you didn't accept the rung with the timer before starting to write the rung ending in coil %M0028. I believe that everything you're showing is in one rung (Rung 28). Do you see where it says "RUNG 0028" in the lower right hand corner? If, when you move the cursor off of the %M0028 contact up to the timer instruction, that field still shows rung 28, it means you're trying to accept an illegal rung.

Build the rung with the timer instruction. Accept it. Then build the rung with the %M0027 coil. Accept it. Then build the rung with the %Q0002 coil. Accept it. They need to be three seperate rungs.
 
You have to tell Logicmaster when a rung is complete. That's what Logicmaster calls "accepting" the rung. I've found that quite often people have difficulties getting their head around "accepting" a rung in Logicmaster.

Here's an example. You build a rung of ladder logic. You hit the F5 key to place a coil at the end of a rung. The address field above the coil shows "??????". You type in the address (%M0025 for example). You hit the <ENTER> key. The cursor drops down a line and returns to the left side of the screen. You think you're done with that rung, but you're not. You haven't accepted it yet. You need to hit the <ENTER> key again to accept it. The rung will change color when it has been accepted. An accepted rung will be a different color than a rung you're editing.
 
I have no idea what I did but I was able to get the program to accept the 2 rungs I was originally trying to enter. Now I'm stuck at the end. I want to add %M0027 & I can't get the vertical line to connect. I have to do it through the "Insert" function, not edit. What am I missing here?

│PROGRM │TABLES │STATUS │ │ │ │SETUP │FOLDER │UTILTY │PRINT
1insert 2edit 3modify 4search 5 6 7option 8goto 9more 10zoom
(E27) Cannot go beyond program block boundary
>
│%M0011 │
├──┤ ├──┤
│ │
│%M0014 │
├──┤ ├──┤
│ │
│%M0017 │
├──┤ ├──┤
│ │
│%M0021 │
├──┤ ├──┤
│ │
│%M0024 │
├──┤ ├──┘


│[ END OF PROGRAM LOGIC ]

OFFLINE
C:\LM90\MFLOAT2 PRG: MFLOAT2 BLK: _MAIN SIZE: 606 RUNG 0035
REPLACE : ::
 
Logicmaster imposes a limit of seven parallel elements in a single rung. If your rung is already seven elements deep, you can't add another element in parallel. You will have to do it in two rungs.

Change the coil address in the rung you're trying to edit to some unused %M address. Add a new rung with a NO contact from the new coil address you used and then put your %M0027 contact in parallel with that. For the output coil use the the address that was in the original rung before you modified it.
 
while using an unused coil is perfectly valid, you could also use ----(+) continuation coil and (+)------ continuation contactto do the same thing.

Cheers
 

Similar Topics

Hi all, I am having issues accessing my Cimplicity software - the site code changed after re-install and I am no longer able to attain a new key...
Replies
10
Views
162
I am completely stuck on building a ladder program that requires a start button to be pressed 3 times to turn on motor 1. Then motor 2 starts...
Replies
20
Views
574
Hi all, I’m new to programming and want to write a simple routine. Push start button, turns on sensor. 2 second delay before anymore logic read...
Replies
1
Views
329
Hi! I need help converting an old MicroLogix 1100 project to Micro 820. Project Details I have an old MicroLogix 1100 program that has been in...
Replies
0
Views
470
Hello friends. I need to write a program. This is exactly what is asked of me: When Sensor 1 and Sensor 2 give output, it will allow Robot to...
Replies
3
Views
952
Back
Top Bottom