Help - Search - Members - Calendar
Full Version: CX-Programmer improvement requests
Forums.MrPLC.com > PLCs and Supporting Devices > Omron > CX-Programmer
Pages: 1, 2, 3
Sleepy Wombat
Thought that this might be a good place to start for cx-programmer improvement requests...
Perhaps...Omron might even take note of some useful ones and included them in future releases....( brainbulb.gif ) argue1.gif
ranting.gif helpsmilie.gif

1. Option to disable type checking in compile options
2. Ability to copy / export into EXCEL a cross reference report so that I can have the ability to print and format the report how i want to....
3. I don;t mind the option to print in ladder view (ie WISYWIG) however it would have been nice in instruction weren't cut in half.
4. The ability to edit a symbol via the SYMBOL BAR at the bottom of a ladder logic page. Symbol Bar is enabled through Tools-> Options
5. The ability to show when offline the value of a Data Memory referenced in an instruction in its last state while in ladder view. This could be an option when going offline from the PLC to save a Data memory snap shot to be included with the program. (I know AB does it).

Well thats a start, I hope that this thread can be a useful reference for Omron development if possible.

Opps just thought of another...
I use simple dialog mode with associated comment dialog enabled also, I would like the comment dialog box to be larger (or sizeable to my liking - and then remembered in this state) so i can see more of the comment and making editting easier.

Another one - oh well...
I think that the new switchbox utility is cool, especially for debugging a program. One minor improvemnt is that when you add channels to monitor a simple SCROLL bar or some form of indicator should show you that you have assigned more then 2 channels to monitor.


Nibroc
...

Another idea (this is an old pet hate of mine)...


The 'project workspace' or project tree should retain the last state it was left in. ie if you expand / contract parts of the tree, it should be as you left them when you re-open the project.



Nibroc
Paulus
Hey,
You guys want jam on that...?

Thread's been sent to those who can do it for you. colgate.gif

Regards
Paulus
tashinz
Paulus,

Can you do it for CX-Designer improvements thread too?

it would be great to have a communication with guys that build software.

regards.
Sleepy Wombat
Wow, i thought that there might have been a few more comments ....
especially from Bobb, who definitely likes getting on a soap box now and then..... blink.gif
CX_Luigi
the print format positively stinks, SYSWIN in my opinion had a far superior layout. I personally dislike the fact that I cannot change the font for symbols name, and it remains the ugly Arial.
Oh, and a really OT question: shall we have a chance to see a C compiler for CJ/CS? I do understand this will clash with the IEC standardization that Omron is correctly following, but it would be a terrific boost for an already excellent package
PdL
QUOTE(Sleepy Wombat @ Apr 24 2006, 04:39 AM) [snapback]32432[/snapback]
Wow, i thought that there might have been a few more comments .... blink.gif


You're right sleepy.... this only proves how good it actually is in my opinion. This is all I can think of...

A confirmation box "are you sure.." when moving a section up and down. This sound stupid, but once I probably accidentally moved a section by dragging it with the mouse. I didn't notice it myself untill I wanted to do some online changes. I thought I went mad because I was the only one working on the system and did some changes the day before. Only after opening section by section in both the upload and the project filIe I noticed...

And I still would like the symbol name drop down combo box thing to work like before V5 I think... so you could pull down a list of names that had the same first characters, instead of now when you edit a copied rung and the symbol names are like input1, output1 and need to be changed to inout2, output2 you have to remove the last "unique" characters before anything that resembles shows up in the list.

Confirmation when adding a local symbol. Sometimes you type a wrong name in a hurry and ram the enter key before you notice, and the symbol is added as local variable. Although you notice because the name is in red you still have to go to the local symbol list and remove it.





Yair
Another idea
1) An option to edit the data type (INT,DINT.REAL) for un named symbols.


Only bool and channel are available now

2) An option to add exist function block to the ladder diagram in online edit.
3) An option to edit symbol name in online edit.
4) An option to disable the write confirmation dialog for replace all. (CTRL+H,CTRL+R)
[size=5][/size]

BobB
QUOTE
especially from Bobb, who definitely likes getting on a soap box now and then.....


Give it time. The old pfart has been rebuilding his computer TWICE thanks to the great co-operation Microsoft and Symentec products have between them. ARGGHHH!!!!
ECSI
I'm waiting for the year 2016 when version 15 of CX-Programmer is released. I hear it will have a built in feature that can read my mind and a little voice will be heard from my laptop speaker that says "Hey dude!...I know exactly what you're thinking, so why don't you sit back, put your feet up on the desk, and I'll write the ladder logic for you!...... "

clapping.gif thumbsupsmileyanim.gif
banker
Hi

I will like to have possible to mix ST and ladder in functionbloks.

Banker nana.gif

BobB
QUOTE
Give it time. The old pfart has been rebuilding his computer TWICE thanks to the great co-operation Microsoft and Symentec products have between them. ARGGHHH!!!!


Make that 4 times. Just about to do it again. Found the problem - an update for outlook is fouling everything up. Will not install outlook and use IncrediMail instead. Will pay for the upgrade and spam filter and be done with it if it works as well as it appears to.

Observation from on site today, one can pull up 4 channels of digital bits to monitor/force OK but you can only open 1 window. Would like to open 2 or 3 windows of 64 digital bits - yes it would be slow but make life easier in the early stages when just forcing I/O in the PLC to check wiring.

Another one, would like to have a mode where one could force an output in program mode so that when the output is forced, all the other stuff that runs off the output would not run - yes, I know, I could always use internal bits to run outputs and it would not happen in monitor mode but that is a pain sometimes.
TERdON
SFC Support? A lot easier to use to program sequential programs then ladder, and the benefit when inverse engineering a badly documented program is even bigger, as the language is hard to use in a way that makes it unclear what the program does.

May require new capabilities of the hardware too, though.
Sleepy Wombat
I guess i don;t understand Bob. but you said
QUOTE
Another one, would like to have a mode where one could force an output in program mode so that when the output is forced, all the other stuff that runs off the output would not run - yes, I know, I could always use internal bits to run outputs and it would not happen in monitor mode but that is a pain sometimes.

As i see it yep the output will turn on but how can the other code execute if the PLC it in Program Mode ?

If in monitor mode, this functionality of course act like you explained it...However this i know is how Schneider programming use to work and frankly i found it crap.

Regards to email agents I use the free Mozilla Thunderbird. Feel sorry for you for all of the wasted time in reinstalling the whole system a 4th time....

Have you check out the switch box utility, once you play with it you will find it a handy commissioning tool.
BobB
Perhaps I was not clear enough Sleepy. When forcing outputs in monitor mode if the output has been used to trigger other logic, then that logic will trigger and start other functions within the PLC.

What I propose is that in program mode an output could be forced on and off but because the PLC is not in run mode the output turning on would not trigger other logic and functions within the PLC. In other words if a pump starts then that will start another pump within the logic - sequential start. I only want to be able to start the first pump and not have the second one start sequentially.
Sleepy Wombat
QUOTE
What I propose is that in program mode an output could be forced on and off but because the PLC is not in run mode the output turning on would not trigger other logic and functions within the PLC. In other words if a pump starts then that will start another pump within the logic - sequential start. I only want to be able to start the first pump and not have the second one start sequentially.


You do mean Monitor mode / not Proram mode don;t you...bacuse code don;t execute anyways in Program/Stop mode as far as i recall.

And yep i would have used internal coils for the above sequenceing and referneced the PLC outputs off these. This allows me to also easily force the outputs from a screen

CODE

     int bit          output
----[w0.00]--+---(010.00)
             |
    TS bit   |
----[w0.01]--+


BobB
QUOTE
You do mean Monitor mode / not Proram mode don;t you...bacuse code don;t execute anyways in Program/Stop mode as far as i recall.


Correct. Code will not execute in program mode and that is why I would like to see an "output test mode" that allowed outputs to be forced physically in program mode.
benbrad
QUOTE(BobB @ Apr 30 2006, 11:08 PM) [snapback]32752[/snapback]

QUOTE
You do mean Monitor mode / not Proram mode don;t you...bacuse code don;t execute anyways in Program/Stop mode as far as i recall.


Correct. Code will not execute in program mode and that is why I would like to see an "output test mode" that allowed outputs to be forced physically in program mode.

Now that's a good idea Bob, that could make life so much easier for commissioning and fault finding, saves poking contactors with screwdrivers
clapping.gif thumbsupsmileyanim.gif
Nibroc
... perhaps someone could look at this conversion problem ...

see thread http://forums.mrplc.com/index.php?showtopic=7635


Nibroc
Sleepy Wombat
Yep Bob agree with your suggestion of been able to force outputs in Stop/Program mode to enable debugging, Or call it a DEBUG mode...

Secondly, interesting thread there Nibroc, i was certainly not aware of this issue.
BobB
Couple more

When you copy and paste Symbols/descriptions etc in the symbol editor "Copy Of" is placed at the left hand end of the symbol - in previous versions of CX-Programmer it was place at the right hand end. Having it at the front end is an absolute pain. When I make my symbols I have a lot of repetative stuff and typically use "FP1RUNSP" - FP1RUNMP" - FP1RUNLP". They are designed to be cut and pasted and then just change the last 2 digits. It would be good to only have to delete the right hand end digits and type in the new ones and delete the "Copy Of" from the right hand end also. Now I have to delete at both ends of the symbol. Yes, I could use Excel but on small projects the symbol editor is generally easier with the above exception.

By the way I generally do not write my code using symbols but numbers, with a few exceptions. I prefer to type in "10301" for example than fiddle about with drop down boxes searching for the right symbol - it is quicker. When I design swimming pool jobs all the switches, faults etc for each pump are placed into contigious inputs so tha I can copy and paste rungs and just change numbers and add or delete I/O to suit the pump operation. When the inputs are done this way changing numbers is far easier and quicker than changing symbols.

CX checks for duplicate symbols but not duplicate addresses. Why? It is easy to duplicate an address and this is not picked up - only symbol duplication is picked up. A result of copy and paste of course but if you accidently use the same address on several symbols things do not work properly.
Mark The Spark
A rather obvious one (and if any of you know how to stop it please let me know) but when monitoring the program it shouldnt show any 'activity' between jumps if the jump is working?
I.E in the rungs after an active jump no 'green' should occur until the jump end?
Showing 'green' activity where I'm hoping to see no action gives me the hump and I get fed up leaving little activity traps everywhere (even though I know its doing the blinking jump I just MUST know!)
dellae
The ability as other systems have to download the CPU code into an existing project without having to make another one.
A number of people have told me you can do it but I have never found it.
Eg; You become responsible for a site that has had many contractors fiddling about.
No one ever leaves a copy of the code for the next contractor to use.
It would be good if you could just get the latest you can find, suck the cpu down to it and at least you would have a reasonable copy of what exists.


Paulus
QUOTE(dellae @ May 10 2006, 03:43 AM) [snapback]33420[/snapback]
The ability as other systems have to download the CPU code into an existing project without having to make another one.
A number of people have told me you can do it but I have never found it.
Eg; You become responsible for a site that has had many contractors fiddling about.
No one ever leaves a copy of the code for the next contractor to use.
It would be good if you could just get the latest you can find, suck the cpu down to it and at least you would have a reasonable copy of what exists.




no.gif


Do you mean Transfer the program that is currently in the PLC into an existing project in CX-Programmer?
Am I missing something here?

Regards
Paulus







IO_Rack
QUOTE
A rather obvious one (and if any of you know how to stop it please let me know) but when monitoring the program it shouldnt show any 'activity' between jumps if the jump is working?
I.E in the rungs after an active jump no 'green' should occur until the jump end?
Showing 'green' activity where I'm hoping to see no action gives me the hump and I get fed up leaving little activity traps everywhere (even though I know its doing the blinking jump I just MUST know!)


Look closely at the OUT symbol in your ladder. The rung will go green if conditions are met but the OUT symbol will not. I'm not sure if this is indicative of how the PLC actually works or not. For instance, I'm not sure if the input instructions are actually scanned and output is inhibited, or nothing is scanned between JMP's.

TERdON
QUOTE(IO_Rack @ May 10 2006, 01:43 PM) [snapback]33432[/snapback]
QUOTE
A rather obvious one (and if any of you know how to stop it please let me know) but when monitoring the program it shouldnt show any 'activity' between jumps if the jump is working?
I.E in the rungs after an active jump no 'green' should occur until the jump end?
Showing 'green' activity where I'm hoping to see no action gives me the hump and I get fed up leaving little activity traps everywhere (even though I know its doing the blinking jump I just MUST know!)


Look closely at the OUT symbol in your ladder. The rung will go green if conditions are met but the OUT symbol will not. I'm not sure if this is indicative of how the PLC actually works or not. For instance, I'm not sure if the input instructions are actually scanned and output is inhibited, or nothing is scanned between JMP's.



As I've understood it, the displayed values are only read occasionly (I've seen update times in the second range - slow serial link + lots of data to update). That means you only see what value the signal has part of the time, and then at the end of the PLC cycle. To make the display show the memory's value at EXACTLY that point of execution would demand a huge hardware design (probably not impossible but certainly improbable, and I suppose it would force Omron to totally redesign hardware as well as communication protocols).

This phenomenon gets painfully obvious if you use the internal flags (P_ER, P_EQ, P_LT, P_GT, P_CY, and probably a few obscure ones). They never show up correctly. Neither do "work" memories being used as temporary storage places all over the program.
Mark The Spark
Attached is a piccy of what happens when a jump is live in monitor mode:
Here my first rung is jumping over the next section of code - as you can see the activity trap in the 2nd rung (47) shows no action on its output and therefore the jump is occuring ok.
And of course the JMP box should be Green as its a live 'output'? (JMP's when input is OFF)
What it should do is show no activity on the rungs after the jump, after all the jump is live, it's a proper jump to the next JME and not one that makes the rungs following NOP.
I don't want to see any green bits except the status of the bits, I dont want to see green lines going across the screen as in rungs 2&3 (47&49) as to me they look like 'activity' where I dont want it.
If it were a JMP0 that causes NOP's for each rung then what I see is fine!?

Or am I going nuts???
dellae
QUOTE(Paulus @ May 10 2006, 03:57 AM) [snapback]33421[/snapback]
QUOTE(dellae @ May 10 2006, 03:43 AM) [snapback]33420[/snapback]
The ability as other systems have to download the CPU code into an existing project without having to make another one.
A number of people have told me you can do it but I have never found it.
Eg; You become responsible for a site that has had many contractors fiddling about.
No one ever leaves a copy of the code for the next contractor to use.
It would be good if you could just get the latest you can find, suck the cpu down to it and at least you would have a reasonable copy of what exists.




no.gif


Do you mean Transfer the program that is currently in the PLC into an existing project in CX-Programmer?
Am I missing something here?

Regards
Paulus



Yes.
I don't know.

The senior Omron contractors on the site tell me they don't do it because it is not straight forward in CXP (v1.1)
Paulus
Hello dellae,
To 'upload' the program (transfer the program from PLC to CX-Programmer), simply hit the toolbar button -"Transfer from PLC".
Or via the menu - "PLC \ Transfer \ From PLC...".
Or keyboard - "Ctrl + Shift + T".
It really is that simple.
The one thing that you won't get uploaded (using v1.1), are the symbol names / comments and rung comments etc. (This is probably why your contractors don't do it.).
If you are looking for improvements to CX-Programmer, I would suggest that the first improvement you can make is get an up to date version of CX-P. (The later versions do allow transfer of symbols and comments).
The latest version is v6.1, with version 7 not far off. v1.1 is extremely old, and quite limited compared to the later versions.

Regards
Paulus
Wulfgar
Here are my suggestions, I've sent these to Omron before but have not recieved any response.





Suggestions for improvements to CxProgrammer:

1) When using program compare with symbols that are auto addressed the compare flags them as being different when they are the same symbol but have different addresses. Can an option to the compare be added to ignore different addresses if the symbol is identical?

2) When Compiling the program, a warning for duplicate outputs are given when using a "SET" & "RESET" for the same output. Also a warning is given for an "=" instruction when the data is BCD. Is there a replacement instruction for comparing a BCD # to a constant? Can this be changed so these do not give a warning or have some compile options to ignore certain warning

3) Index registers and Data registers do not show up in the address reference window, cannot be searched for, and cannot be looked at in the watch window. I've been told this is to improve the speed. It should only affect speed while you are looking at these and not normal operation. This makes it impossible to debug the use of IR and DR registers thus restricting the benefit of using them in a program compared to using Dm memory for doing indirect addressing.

4) Add shortcuts to toggle arising edge or falling edge trigger for contacts similar to how the "/" key functions on toggling a NO to NC contact.
oops.gif I forgot about the keyboard mapping, great feature that all programs should have.

Nibroc
Wulfgar,

QUOTE
Add shortcuts to toggle arising edge or falling edge trigger for contacts similar to how the “/” key functions on toggling a NO to NC contact.




You can assign keyboard shortcuts to perform this operation - tools - keyboard mapping. I use shift-u for diff up, shift-d for diff down and shift-n for no differentiation.



Nibroc

Nibroc
Another Request --

PLC Memory Component Table Editor.

You can cut and paste values from Excel, however the data must be formatted into 10 columns in Excel prior to a cut and paste. We need an option to display different numbers of columns to improve flexibility, as this can be a very efficient way to preset bulk memory addresses.


Nibroc
BobB
I would like to be able to use the compile error to not tell me that there are duplicate outputs but that there is a SET without a RSET - or a SET with several RSET.
Sleepy Wombat
Heres another simple editting enhancement...

When adding symbols if you hit the space bar while enetering the Name (symbol name) that automatically underscores are placed in the name to save you from having to use the SHIFT underscore combo...AB had this and i found it cool.
Tigamaroo1999
I, for one, do a lot of math functions within ladder. What I would really LOVE to do is be able to add, subtract, multiply, and divide in DECIMAL Converting number formats back and forth often times gets confusing and conversions get missed. It's also frustrating because my brain thinks in base-10, not base-16 so I usually end up using some hex to decimal converter just to verify simple math.

Tig

tstevic
Improvements....

#1 The ability to use MY.opt file instead of the one the last programmer saved.

#2 Free form comments that can be dropped anywhere on a ladder diagram (like a sticky note)

#3 Free floating bookmark windows where one can drag and drop an address or program location so one could jump around a large program without having to try and remember every area of interest. There should be the ability to set up several different sets of bookmarks to aid in troubleshooting different sections of code.

#4 The ability to directly enter and display i/o names everywhere, i.e. in data trace.

#5 Each open window should have a 'tab' that is always visible so one could move easily between them.

#6 The ability to disable functionality. Allow maintenance personnel to monitor programs and force i/o but not to make program changes. This could be setup using a password. All unenabled function icons should disappear so the interface does not look so busy.

#7 Optionally, compare PC program with the one in the PLC in the background as soon as one connects to the machine.

#8 When using the address reference tool, if a PLC is not selected from the program tree, automatically uses the PLC that is being monitored in the top window.

#9 When connecting to a PLC that is different from the one defined in the project, offer a "Connect Anyway" option.

#10 Provide a "backup and restore" everything option. This would create a single file that has the program, HR, DM, and EM data, special i/o setup info, special i/o programming (if available from the com of peripheral port, or across a network). A technician could then backup and restore a PLC into at least some sort of runable condition without have an intimate knowledge of the machine.

That's all for the moment.

T

BobB
QUOTE
#2 Free form comments that can be dropped anywhere on a ladder diagram (like a sticky note)


Like Mitsubishi?

Sergei Troizky
QUOTE(Sleepy Wombat @ Jun 7 2006, 01:46 AM) [snapback]35148[/snapback]
Heres another simple editting enhancement...

When adding symbols if you hit the space bar while enetering the Name (symbol name) that automatically underscores are placed in the name to save you from having to use the SHIFT underscore combo...AB had this and i found it cool.


Yes, this would be probably the most valuable improvement.
BTW, Allen Bradley RSLogix500 features it only partially- this does not work in the search window.
Sleepy Wombat
QUOTE
#2 Free form comments that can be dropped anywhere on a ladder diagram (like a sticky note)


That was in Version 1 of CX-Prog...as i remember...
Paulus
QUOTE(Sleepy Wombat @ Jun 18 2006, 07:43 PM) [snapback]35761[/snapback]
QUOTE
#2 Free form comments that can be dropped anywhere on a ladder diagram (like a sticky note)


That was in Version 1 of CX-Prog...as i remember...


Good memory Sleepy!
They were replaced by the 'Attached Annotation', whereby each individual element in a rung could have a comment added to it (right click the element and select 'Properties') which is then "attached" to the mnemonic of that element, rather than the address or symbol name.
This of course allows (say) address 0.00 to have completely different comments added to it throughout the program. So in effect, they are "free-form comments".

Regards
Paulus.
Nibroc
QUOTE
(right click the element and select 'Properties')




Also you can use the 'Alt-Enter' keyboard shortcut

These annotations are handy ...


Nibroc
Gary.Johnson
QUOTE(Wulfgar @ May 12 2006, 12:51 PM) [snapback]33679[/snapback]

2) When Compiling the program, a warning for duplicate outputs are given when using a "SET" & "RESET" for the same output. Also a warning is given for an "=" instruction when the data is BCD. Is there a replacement instruction for comparing a BCD # to a constant? Can this be changed so these do not give a warning or have some compile options to ignore certain warning

I get around the SET/RESET warnings by using KEEP instructions. It forces you to place the set and reset conditions on the same rung but it eliminates the compiler warnings.

Now for my humble requests...

1- STOP CHANGING COM PORT ASSIGNMENTS!
I use the Omron USB adapter set to COM4. All of my projects are set to use COM4. If I open a project on a machine that does not have a COM4, CX-P automatically changes the port assignment. No warning, no confirmation dialog.
If I close the project without saving, no problema. If I make offline edits and save them I have to change the port assignment back to COM4 in order to connect/download. This is extraordinarily annoying and potentially dangerous.

2- Make BCMP work like BSET or give me a new compare block that does. I need to check ten contiguous registers and set a bit if they all match a certain value. I can set the value of those ten registers using BSET but I can't confirm the change without building a cascaded structure of CMPs.

3- How about letting me edit symbol comments while online from the symbol table (ALT-G). Right now changing symbol comments while online requires finding a ladder element with the target address, starting an online edit, editing the comment, and cancelling the edit. Very time consuming.


I can think of more but they are too minor to list here.
Thanks to everyone who contributes to this list. CX-P will be much better if Omron acts on it.
PdL
You've got a point there Gary.

I was thinking it would be ideal if one could save "connection profiles".

Sometimes I connect using modem at the office, locally I use controller link, when necessary toolbus. But all the same program with only one connection setup. If I could store the settings under a profile like "office modem", "local controller link" and "local toolbus", that would be wonderful.
Than you would never have to set FINS adresses again, selecting the modem and looking up the tel number etc.

I like this thread a lot but let's hope big brother is watching....
svn
Following suggestions are not directly for CX-Programmer but CS1/CJ1 PLCs in general
1) As a minimum, all the string / ASCII processing instructions should be made available in Structured Text. It will be better if other ladder instructions are also made available.
2) The Email in ETN21 shall be configurable properly in cases where the SMTP/POP Server requires authentication.
3) The FWRT instruction should allow plain text data (prepared by using string processing instructions) to be stored as .TXT or .CSV file. Presently it allows to store this type of data in only .IOM file where it adds some 48 bytes binary header. Also presently there is no provision to store real, double or string data in .CSV file.
4) Many Omron competitors offer Web server in PLC. It would be very useful if a lightweight Web Server is added to CS1W-ETN21 and CJ1W-ETN21.
5) User-defined Datatype (like AB Controllogix) will be very useful addition for data processing application
6) It should be possible to set some area of DM and EM as read-only. C Series PLCs had read-only DM area which we were using to store critical data like alarm setpoints, fixed strings, APR Tables etc.

SVN
gtsuport
QUOTE
From Gary.Johnson:
2- Make BCMP work like BSET or give me a new compare block that does. I need to check ten contiguous registers and set a bit if they all match a certain value. I can set the value of those ten registers using BSET but I can't confirm the change without building a cascaded structure of CMPs.


Gary,

Try the TCMP instruction. it will set a bit in the result word for each register that matches the source value. BCMP instruction is really for checking that the value falls within a range.

I know this is a couple of weeks "late", just checked the thread today.

Hope this will help.
Nibroc
.... more suggestions for CS1 / CJ1 ...

Why not allow all memory areas to be addressed as bits ?

Eg DM 1000.01 ?



...


Nibroc
ParaffinPower
Having DM0 to DM32767 as WORDS is old fashioned - INT is one WORD, float is two, DINT is two. D101...what is it? INT? Part of a double?
Giving a programmer a massive pile of memory with no pre-defined structure makes it akward to structure a program (unless someone can tell me different...)
Should take a leaf out of AB's book - either SLC or CLX is better a better addressing method.
Call tags whatever you want and let the compiler decide where the memory is.
CXP's Automatic Allocation is a poor substitute I'm afraid.

And, the 'Help' is rubbish. Tells you half a story for every instruction

And, BCD has got to go. Not too keen on Hex, actually.

And, what's with 'Binary Add Without Carry' and the other miriad of ways to add (or whatever) two numbers? Just add the numbers, and give me an answer - I'll work out the rest.

Wow, thought it was pretty good until just now!

Pp
Sleepy Wombat
QUOTE
Giving a programmer a massive pile of memory with no pre-defined structure makes it akward to structure a program (unless someone can tell me different...)


Interesting point....but....understanding you must also play with AB a bit, i recall that you have to set the files sizes for your type of data also....yes AB does start off by giving you the defined set of N7 anf F8 etc also you need to spec the T and C area also...
Understand that in AB the program processor memory is shared with the type memory... ie increase / add another area say N15 and that chews into the total avail mem for programming,,,

Why can;t you apply the same structue to your program. ?

Lets see we have 32k of Data memory...

D0-D1999 could be ints ( thats 2000 integer vals)
D4000-D7999 could be floats...( 2000 float vals)

QUOTE
Should take a leaf out of AB's book - either SLC or CLX is better a better addressing method.
Call tags whatever you want and let the compiler decide where the memory is.
CXP's Automatic Allocation is a poor substitute I'm afraid.


Sorry, but i can't agree with you there entirely either,,,,even when i comes to programming with AB...i like to know the address values cause i like to program that way (or at leat have the option to do so) I don;t like auto allocation at all....Mainly handy if you need to do some quick and dirty code... (but hey, thats MHO)

QUOTE
And, the 'Help' is rubbish. Tells you half a story for every instruction
Bloody oath its rubbish.....and woeful....thats why i have the digital technical library installed on me comp....





ParaffinPower
How about when putting an SIOU at, say unit 0, CIO 1500... is automatically given appropriate symbols?

Pp

ps - great thread
BobB
QUOTE
Try the TCMP instruction. it will set a bit in the result word for each register that matches the source value.

Works extremely well and sets the right bits. I use it regularly when pulling data from generator controllers that issue numbers for alarm types.

QUOTE
Giving a programmer a massive pile of memory with no pre-defined structure makes it akward to structure a program (unless someone can tell me different...)


Definately do not agree. Hate having to go back to predefined memory allocation. Would much rather allocate my own as I wish. Fully agree with Sleepy - it is just a matter of being organised and allocating memory as you wish.

Why would anyone want to use auto allocation? Maybe I am old fashioned (definately old) but I generally do not even write programs using symbols but rather allocate memory as I wish and program using numbers not symbols. I HATE HAVING TO PROGRAM USING SYMBOLS!!! I also like to allocate bit memory as I wish and not as the program allocates it. For example, for shut down alarms for diesel generators I use contigious bits and then use the BCNT (bit count) instruction to tell me if a bit is on in a pre-defined number of channels. Then a compare and a "shut down" bit that I use through the rest of the program. Auto allocation sprays the bits all over the place.

QUOTE
And, BCD has got to go. Not too keen on Hex, actually.


Why?

QUOTE
Why not allow all memory areas to be addressed as bits ?

Eg DM 1000.01 ?



Yes, would be handy rather than having to move to CIO to extract bits.

QUOTE
And, what's with 'Binary Add Without Carry' and the other miriad of ways to add (or whatever) two numbers? Just add the numbers, and give me an answer - I'll work out the rest.


These instructions are really handy - ths CS and CJ have a great instruction set except that there is no unsigned binary and and subtract.

One thing I would like to see is a facility that Mitsubishi have where one can allocate DM (registers) to be retentive or non-retentive. I do have having to write zeros into my maths channels - or use BSET - when I want to clear them. Would rather have a non-retentive (user defined) where when the maths instructions are turned off the memory in that area automatically clears.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2010 Invision Power Services, Inc.