What's new
What's new

TNC355 control codes

Graham Wright

Aluminum
Joined
Oct 31, 2007
Location
Gloucestershire UK
I have previously reported a problem with tool changing on my Beaver Partsmaster. Unfortunately, there were no responses here.
It has been suggested that the ram content has been corrupted. Can anyone advise how to read it and maybe modify it if I can find a coding error please?
 
starting a new thread complaining of inactivity on an old thread is not productive

whatever has gone on, the answer is change the tool change position in the parameters if the machine is otherwise working. It has most likely changed from what it used to be, probably due to the reference position itself being wrong due to parameter loss.





>>>>>>>>>>>>>>>>
Due to a faulty buffer battery holder, I lost all the machine parameters. They have been reloaded and the machined switches on but the machine reference position is incorrect in Y and Z.

I have had a problem with the pneumatic side of tool changing but now I have an additional weirdo.

During an M6 tool change, the Z axis position is incorrect. It is zero. The position it should achieve is -185 (reference).

The parameter value is correct (i.e. -185). The X and Y axis positions are correct. The axes are correctly referenced and a program runs correctly (although it requires no tool changes).

Anybody any ideas please?

The machine is a Beaver Partsmaster.
>>>>>>>>>>>>>>>
 
I have not complained.
I have a problem I am trying to fix and have hit the buffers despite extensive internet searches.
I have contacted a service engineer who advised that the RAM has possibly been corrupted and the next stage is to find out.
I am familiar with a few codes (such 555 343 and 95148) and presume there are others allowing access to the control system.
Unfortunately, the service engineer seems to have lost interest.

As explained, the parameter entry is correct.
 
So change the parameter entry.either for the tool change height or the z position

and the point is I had to go look up your old thread to even know what you are talking about, and found another thread where you had a related issue

stick to one thread so there is a possibility that people can help
 
So change the parameter entry.either for the tool change height or the z position

and the point is I had to go look up your old thread to even know what you are talking about, and found another thread where you had a related issue

stick to one thread so there is a possibility that people can help

You sound cross, Have you had a bad day?

I've given up on the original; continued to try to work it out for myself; found a service engineer who offered an opinion (and then apparently lost interest) and now I have asked a simple question - "Does anyone have a list of the control codes." Forget the problem, please answer the question - then I'll go away - honest.
(I say again - the parameters are correct).
 
The parameters are not correct, or the tool change height would be correct
Parameters are what relate the TNC to the real world. When the real world changes, the parameters must change.

If you have rotary encoders and simply take the motor off of the belt, you must change the parameters related to that axis distance to reference, as the encoder is no longer in the same place as it used to be in relation to the physical machine. When you change that parameter in Z, you most likely have to change the parameter for the tool change height
 
That makes sense but I have not disturbed the Z drive. The referencing seems normal, the previous program runs ok and the Z tool change position in reference mode is zero. If the relevant parameter entry was zero, that would be the reason. But it is not; it is -185 which is an awful long way from zero. The service engineer (who has still not responded to my invitation to visit) suggested that the value stored in RAM (not eprom) had somehow become corrupted.
This was why I asked the question about accessing the RAM and the control codes to maybe permit it.
As soon as I get the machine back on line (I have a pneumatic valve removed at the moment- another problem!),I'll try playing the with the Z tool change parameter and see if anything is different. It is suspicious that the spindle moves to Z=0 exactly.
 
The z is always going to move to zero, it has to.

But where is zero?

The parameters tell it where zero is

Unless you make a change that makes the machine hit a hard stop during referencing, or change it enough that on the other end of travel there is not enough travel and it hits a hard stop there, you will notice no difference, other than, you guessed it, the tool change height

quoting you:
>>>>>>>>>
Due to a faulty buffer battery holder, I lost all the machine parameters. They have been reloaded and the machined switches on but the machine reference position is incorrect in Y and Z.
<<<<<<<<<<<<
There should be a parameter that allows you to run the PLC from eprom or ram if the control is new enough.
 
Ah, that is the previous post. I have two near identical Partsmasters. I copied the parameters from the good one to the old after the data loss but there were slight differences in the tool change position that needed tweaking.

Afterwards all was fine for a few months.

Leaking pneumatic valves was the start of the current tool change problem. The tool would not release due to sticky valves. That was sorted but something happened in the process that caused this problem of bad positioning during tool change.
 
The possibilities:

The encoder has moved
the parameter has changed
the tool changer has moved
the spindle has moved


In order to see 'where' the Z is during tool change, you should change the screen view to distance from reference
 
copying parameters from "near identical" machines is nowhere guaranteed to work

I'm not familiar with Beavers, if they use glass scales or rotary encoders for positioning, but in case of glass scales on my Mikron, absolute positioning parameters are unique to each machine - or more precisely - tied to the exact scale used for each axis, because they can be position coded, for instance Y axis scale in absolute settings on that machine reads out some odd numbers from -580 to -1something, and another identical machine with different scales can have totally different read out range

and it has nothing to do with the program you run - these are absolute values, machine nearly always will execute the program with relative values - ones that have more meaning to you - user

so if you see the machine go to some wrong position when you ask it to do the tool change - go read the manual (they are found on heidenhain.de) about tool change parameters, try changing X/Y/Z from what you have now to something else, observe now how the machine behaves and adjust those values accordingly to get it to go the correct position to execute the tool change

there are no RAM parameters or anything on this control, it has a burnt in PLC program in EPROM that you can copy into RAM, make changes to and execute from RAM, but that is not advised, it even says so in the manual, that is for machine builders to tune the ladder to get all the logic to work properly, and as far as I remember, you don't write machine specific positioning values to PLC, that is what the machine parameters are for (the code you mention - 95148)

service manual (from the same heidenhain.de) has some additional codes to read the plc, reset machine parameters, reset some adaptation setting etc., but it sounds like everything apart from tool change position written in the machine parameters works correctly on your machine, so I don't see any reason to poke around in the other "places"
 
The encoder wouldn't generate the huge difference between where the spindle should be and where it is surely? The spindle moves to tool change with z at the same height as when the machine is referenced at switch on i.e. zero.

The parameter has not changed it is the correct (i.e. same as the other machine) value.

If by tool changer you mean the carousel, I think 185mm would be pretty obvious!

Equally the spindle hasn't jumped up!

The program can still run (I can't even change the tools manually at the moment due to the servo valve which should be able to be forced to changeover with the override levers). The fact that the machine seems to reference correctly must be important surely? Every position that follows depends on that. the huge error at tool change suggests something quite particular to the tool change operation.

"There should be a parameter that allows you to run the PLC from eprom or ram if the control is new enough".

The good machine I bought new in 1981! The naughty one is a bit older.
Please expand on the quoted extract. That sounds like what I should be looking for. I started working life as a computer designer (when computers filled rooms and had a millionth of the power of today's 'phones) so understand systems. I would love to see a system diagram of the TNC355 to understand the different areas and technologies of memory. This was the reason for my seeking control codes.
 
first things first - what sort of feedback is on the machine? does it use linear glass scales or rotary encoders on ballscrews?

when it is referencing - does it travel always to some/same point in space, a switch, or just incremental movement from where you left it (less than 100mm)?

I'm asking because TNC can be configured in variety of ways, some will behave sort of like you're describing, and will not work correctly when machine parameters are lost and copied from a similar machine

do a simple test, after turning on both machines, allow them to reference, once in the manual mode, press [MOD], use up/down arrow buttons to get to the "display position" setting (I don't recall exactly what the menu item name is, but should be self explanatory), press [ENT] and it will cycle between (if I remember correct) NOM/LAG/ACT/ABS, switch it to ABS and compare what the X/Y/Z coordinates are displayed on both machines - I'll guess and say they are quite different between the machines

regarding the quote - I'm not that familiar with all versions of the 355, but there is a parameter which you can find if you download the service manual, that makes the TNC run the PLC program from either RAM or eprom, default should be from the eprom, RAM is used, as I tried to explain earlier - for debugging, once the program runs reliably, it is downloaded from the control, sent to Heidenhain, and they compile it and burn an eprom for you for a price - hence this program is written in such a way for it to be universal between same model of the machine, and then you adjust machine parameters for each individual machine
I'll post later (if I'll find my notes) how to do this, but it involves some code that allows you to first load the PLC program from the eprom into RAM, you can then view and edit it (in RAM, eprom obviously stays as it is)
 
first things first - what sort of feedback is on the machine? does it use linear glass scales or rotary encoders on ballscrews?

when it is referencing - does it travel always to some/same point in space, a switch, or just incremental movement from where you left it (less than 100mm)?

I'm asking because TNC can be configured in variety of ways, some will behave sort of like you're describing, and will not work correctly when machine parameters are lost and copied from a similar machine

do a simple test, after turning on both machines, allow them to reference, once in the manual mode, press [MOD], use up/down arrow buttons to get to the "display position" setting (I don't recall exactly what the menu item name is, but should be self explanatory), press [ENT] and it will cycle between (if I remember correct) NOM/LAG/ACT/ABS, switch it to ABS and compare what the X/Y/Z coordinates are displayed on both machines - I'll guess and say they are quite different between the machines

regarding the quote - I'm not that familiar with all versions of the 355, but there is a parameter which you can find if you download the service manual, that makes the TNC run the PLC program from either RAM or eprom, default should be from the eprom, RAM is used, as I tried to explain earlier - for debugging, once the program runs reliably, it is downloaded from the control, sent to Heidenhain, and they compile it and burn an eprom for you for a price - hence this program is written in such a way for it to be universal between same model of the machine, and then you adjust machine parameters for each individual machine
I'll post later (if I'll find my notes) how to do this, but it involves some code that allows you to first load the PLC program from the eprom into RAM, you can then view and edit it (in RAM, eprom obviously stays as it is)

Rotary encoders with ball screws.
During referencing all axes move to a microswitch which slows the traverse rates and then to another switch after which the encoder picks up the next zero mark. (There is another microswitch beyond which is a hard limit switch.) Thus the referencing takes place at a definite position unrelated to previous history.

The position informations options are DIST, ACT, REF,LAG AND NOMINAL. ACT is setable to suit the program and fixture and REF is the fundamental, unalterable (by input) position the machine uses for operations such as tool change.

When the machine references,X,Y and Z are all set to a nominal zero plus or minus a bit e.g. 0.5. I guess this is the further movement after the referencing microswitch until the encoder hits its reference point This is true on both machines.

Despite what others have claimed, the tool change parameters are nearly identical between the two machines. (The differences are due to fine adjustments to ensure correct alignment with the carousel dogs.). The spindle moves up in Z to zero, to the correct Y position to align with the carousel. Then X and Z should move together when approaching the carousel to ensure correct engagement and clearance from the job. This step is missing. Z remains at zero and X moves to the tool drop value. It seems one operation is missing. However, the tool does not drop.

I hope this helps and thanks for taking me a step forward.

Is it possible to read the hidden code whether it is sourced from the eprom or the ram? I do have the Heidenhain maintenance manual and will scour that.

So, no further forrader as they say.
 
Rotary encoders with ball screws.
During referencing all axes move to a microswitch which slows the traverse rates and then to another switch after which the encoder picks up the next zero mark. (There is another microswitch beyond which is a hard limit switch.) Thus the referencing takes place at a definite position unrelated to previous history.

The position informations options are DIST, ACT, REF,LAG AND NOMINAL. ACT is setable to suit the program and fixture and REF is the fundamental, unalterable (by input) position the machine uses for operations such as tool change.

When the machine references,X,Y and Z are all set to a nominal zero plus or minus a bit e.g. 0.5. I guess this is the further movement after the referencing microswitch until the encoder hits its reference point This is true on both machines.

Despite what others have claimed, the tool change parameters are nearly identical between the two machines. (The differences are due to fine adjustments to ensure correct alignment with the carousel dogs.). The spindle moves up in Z to zero, to the correct Y position to align with the carousel. Then X and Z should move together when approaching the carousel to ensure correct engagement and clearance from the job. This step is missing. Z remains at zero and X moves to the tool drop value. It seems one operation is missing. However, the tool does not drop.

I hope this helps and thanks for taking me a step forward.

Is it possible to read the hidden code whether it is sourced from the eprom or the ram? I do have the Heidenhain maintenance manual and will scour that.

So, no further forrader as they say.

'nearly identical' is not identical now is it?

THe first step is to do as I suggested and change the parameter for tool change height and see if it has the desired affect.

You have added new information that you see an apparent lack of a step in the tool change sequence

If changing the parameter does not do what is expected, it very well could be that there is a problem, but you need to do that first to see

The toolchanger code is not written by Heidenhain. It is in the PLC which is written by the machine tool builder

It defines all of the inputs and outputs, and defines responses to certain m codes, it can fetch information[such as a tool number] and do things with it.

I have not written a PLC, but I have modified a prepackaged one on a TNC310 that I retrofitted some years ago. It is straightforward, but not simple.

I find it pretty unlikely that an eprom got corrupted in such a way as to delete one operation from one area. I think it much more likely that there is some subtle difference between the two machines that is not obvious, and either it is simple[the tool height parameter] or a little second level like a zero or one choice related to the tool change procedure

It could also be a random un related failure, like a switch that is stuck, that causes it not to look for that last position

It all starts with how the machine responds to changing the tool height parameter. If it does not move to a different position when you do that, then you have a different problem. If it does, then the problem is solved
 
'nearly identical' is not identical now is it?

I've explained why they are nearly identical. The carousel is not completely precisely located. (In fact, it is secured with plastic screws to minimise damage if there is a collision. My original machine wasn't; it was secured with steel screws and a collision smashed the carousel drive system. Fortunately it was under warranty).

If I could read the plc code (and understand it!), that might provide a clue. Having used eproms in aerospace systems, I find it difficult to believe a complete line could be skipped. However, the same would happen with a deleted line maybe.
 
So you understand that the location of the toolchanger varies, yet cannot be convinced to do that actual troubleshooting steps to resolve your problem.
Instead you would rather turn it into a project to write a new PLC.

Good luck with that
 
Rotary encoders with ball screws.
During referencing all axes move to a microswitch which slows the traverse rates and then to another switch after which the encoder picks up the next zero mark. (There is another microswitch beyond which is a hard limit switch.) Thus the referencing takes place at a definite position unrelated to previous history.

The position informations options are DIST, ACT, REF,LAG AND NOMINAL. ACT is setable to suit the program and fixture and REF is the fundamental, unalterable (by input) position the machine uses for operations such as tool change.

When the machine references,X,Y and Z are all set to a nominal zero plus or minus a bit e.g. 0.5. I guess this is the further movement after the referencing microswitch until the encoder hits its reference point This is true on both machines.

Despite what others have claimed, the tool change parameters are nearly identical between the two machines. (The differences are due to fine adjustments to ensure correct alignment with the carousel dogs.). The spindle moves up in Z to zero, to the correct Y position to align with the carousel. Then X and Z should move together when approaching the carousel to ensure correct engagement and clearance from the job. This step is missing. Z remains at zero and X moves to the tool drop value. It seems one operation is missing. However, the tool does not drop.

I hope this helps and thanks for taking me a step forward.

Is it possible to read the hidden code whether it is sourced from the eprom or the ram? I do have the Heidenhain maintenance manual and will scour that.

So, no further forrader as they say.

I just checked my TNC355 and position display modes are just like on yours, REF was the mode I called "ABS", and those are the most basic position values TNC on my machine, the difference being that on mine they come from absolute distance marks on the glass scales

in any case, if REF values on both machines are near identical, then that could be laid to rest

further I'll be talking about this manual, I suggest you download it so it is easier to find the exact page I'm talking about:
https://product.heidenhain.de/JPBC/image/FILEBASE_PUBLIC/208667_00_a_02.pdf

on page 330 it describes how access PLC functions on the control, little further it explains the MP77 - which is responsible for selecting which source to use to run the PLC program, if MP77 was set to 0 on your machine, then it runs the program from the eprom, if you want to view this program, it is not enough to just enter the editing mode, you need to copy the program from eprom to RAM - switch to page 333, there is an entry that tells you to press [Q-DEF] followed by [ENT] to do that (dialog on page 336)

also read page 325, that may or may not be applicable to your machine (it was on mine)

there is also a section in that manual about tool change programs and how to write them, maybe your machine builder followed it, so reading through that might be useful

bus as Gustafson said, it would be better first to change the tool change position machine parameters, see if the machine responds, and take it from there, because the PLC program is far from easy to grasp just by looking at it
 
So you understand that the location of the toolchanger varies, yet cannot be convinced to do that actual troubleshooting steps to resolve your problem.
Instead you would rather turn it into a project to write a new PLC.

Good luck with that

The location of the tool changer does not vary. The spindle position is correct during machining.
The carousel does not move. It is fixed to the bed of the machine and offers tools by rotating the tool carrier. Its X, Y and Z values do not change.

I have changed the parameter defining the z height during tool change and it makes no difference. The spindle moves resolutely to Z=0.

Without being rude, you seem to want to snipe rather than help.
 








 
Back
Top