Sign in to follow this  
Followers 0
slcman

How I can find unused adresse

17 posts in this topic

Hi again, I want to found unused adresse. I can't trust search function because if a instruction like BSET #0 DM1 DM5 is used and I search DM3, Not found message appear but DM3 is used! I'm familiar with RSLogic500 and I can't easly see used adresse in Data files (when I clic usage button). I have CX-ONE Thanks for your help

Share this post


Link to post
Share on other sites
There is probably a better way, but if you use the cross-reference tool, this highlights address used in different instructions. The preferred way, is to document your IO allocations as you go, this way there is always a master record. Unless of course this is a. not your program, OR b. you have no symbols.

Share this post


Link to post
Share on other sites
The search function is very sensitive in some aspects in CX Programmer. For the CS/CJ model PLC's you must not add an 'M' when searching for DM locations. Also make sure you are searching for 'Addresses' when searching for a channel or word. You may be better off using the 'Cross-Reference Report' from the 'View' menu. Edited by IO_Rack

Share this post


Link to post
Share on other sites
The main argument for a separate I/O Allocation document (Excel is a great tool for this!) is that as soon as you implement indirect addressing, you're not only dependant on the program itself, but also (at least possibly) on memory contents. That makes it virtually impossible for any program to resolve which adresses have been used and which ones haven't. Indeed, indirect references to the wrong memory cell is both a hard-to-find and hard-to-correct, as well as a very dangerous error to make. Obviously, there's no functionality in CX-Programmer to resolve which addresses have been addressed indirectly...

Share this post


Link to post
Share on other sites
Wrong wrong wrong wrong..... Using the cross refererence tool you can display the results a number of ways.... see below..... Notice area D16000 this area is used in a PID instuction you can tell because the usage tells you.. it also shows all of the subsequent addresses used by the PID instruciuton indirectly ie D16001 etc D16038..... The second pic shows in a tabular format all avail address and the ones used and howmany times it has been used and if a symbol has been alloacted to the address indicated by a D

Share this post


Link to post
Share on other sites
Good to see you back from the water works Sleepy.

Share this post


Link to post
Share on other sites
Do u still need me to go to site some time in the future Bob ?

Share this post


Link to post
Share on other sites
Sure do Matt. How about Monday/Tuesday? Only just up the Windsor Road.

Share this post


Link to post
Share on other sites
Sorry for not being 110% over-obvious in my use of the English language, but that's not at all what I mean. By "indirectly" I mean "by indirect addressing", ie *DM addressing style et al, not "by being part of a bigger block adressed only by the starting address". As there is no way in **ll CX-Programmer will know what my DM contains (it could even be input from a NS display or similar!), it's just not possible to create a software that will, without any doubt at all, predict which addresses have been used and which not. Either it won't mark some addresses that have been used, or it will mark some that haven't. Consider the broadest "wild case" where you only have a few instructions all using *DM0. That could be any DM! Either only DM0 (which contains the adress reference) or all adresses should be marked... The only possible way to not have this issue is to ban all use of indirect addressing, which would hurt the programmability of the PLC's really badly (i use it if not all the time quite often at least).

Share this post


Link to post
Share on other sites
Good tip from Benbrad:

Share this post


Link to post
Share on other sites
Nah, we old SSS programmers just aren't used to that fancy new stuff they've invented, still a good idea though... :)

Share this post


Link to post
Share on other sites
What an absolute horror that was. LSS was no better. I used CAPS and then graduated to Syswin. I still miss the wonderful monitoring window in CAPS. Have yet to see anything like it. I wish Omron would implement something similar. CX-One ROCKS!!! Except for the lack of a monitoring screen like CAPS.

Share this post


Link to post
Share on other sites
My post was directed for the orignal posting and i did not want there to be confusion on the issue... Thanks for the clarification there Teddy .... You make a very valid point there about indirect addressing (or pointer use) which is generally a harder concept for a lot of programmers to grasp...IN fact even if he had used indirect addressing in an AB PLC as you have described i don;t believe that you can clearly tell if it has been used or not either in this case... BTW the excellent tip from benbrad gets around the auto allocation issue also because you have defined the area...Plus if you were worried about reading from the wroing address then you can clamp the range the pointer could point to also.... hey sound like a cool use for a defined function block...BTW i never use Auto allocation...

Share this post


Link to post
Share on other sites
Neither do I. Although I'm only 25 years old I'm too old-school to let things auto-allocate themselves. Then you don't have any control at all!

Share this post


Link to post
Share on other sites
no prob's slcman....mabey in the future you mught change your name to omronman

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0