poovs

MrPLC Member
  • Content count

    31
  • Joined

  • Last visited

Everything posted by poovs

  1. Is it possible to create a symbol as an array of function blocks? I can create arrays in the Global and Local Symbols of various types (INT, BOOL, user defined Data Types with members), but a Global Symbol of Function Block data type does not allow for the Advanced option which is where array configuration is performed. Why? I have a need to call a function block from within a for loop in a ST program and I do not want to have to create individual symbols of type FB [FuntionBlockName] for each call of the function block within the for loop. Without this function, the behavior between subsequent calls of the function block within the loop is not as intended (perhaps because the LD FB contains keeps, timers, and DIFU/DIFD logic).  
  2. Should I Use Function Blocks?

    I am trying to evaluate whether or not to utilize the FB capabilities of our Omron CS/CJ PLCs for future projects. Our typical projects involve controlling a few hundred devices (doors, intercoms, cameras, card readers, etc). There will generally be sections of PLC logic that are exactly the same except that they refer to different IO addresses. I can see that if I were to utilize the FB method I would not have to deal with creating/managing all of the 'pseudo' symbols that would essentially become 'internal' FB symbols. I can currently crank out the ladder pretty efficiently by copying out the mnemonic of a sample ladder and then find/replace the symbol names to match my desired few hundred devices... Can I do the same with the FBs? As I've never used them before, when I copy a functioning FB in ladder and then paste it; it seems to still be an instance of the originally 'copied' FB... can't seem to find/replace or change the FB instance unless I manually create another instance... Regards, JP
  3. Protocol Macro (.psw) File Lost

    Okay, so I have this system here in the shop we've been fabbing/testing/checking out. My protocol has been refined to work quite well over the past month or so. Today I discover a feature that needs to be implemented into the protocol. When I go to open my .psw it doesn't contain the sequences I've created over the past couple of weeks. Either the protocol wasn't saved when last closed or the updated version has been deleted :( Is there ANY way to retrieve what is currently loaded into the SCU? I HATE having to backtrack and recreate the protocols. What gives with the frickin' greyed out Upload function? Ideas?
  4. DeviceNet - DRT1 vs DRT2 Series

    Can someone please shed some light on this topic? What is the real difference between DeviceNet (DRT) Series 1 & 2? I am looking at using DeviceNet for my remote I/O application. At least one DRM will be needed in the main PLC rack and then (depending on network distance limitations - with T-branch taps, etc) possibly needing to add another DRM. Application Example: I have one PLC Rack (CPU) with local I/O and then 7 other equipment rooms with remote I/O. One of the remote I/O racks will have roughly 16 channels of I/O where the other 6 rooms will have less than 32 points each.
  5. Welp... nevermind I guess... I implemented this in another way -- I guess I'll avoid using BPRGs
  6. Bump! Agreed, just came across this thread and would like someone to point me in the right direction to locate the CSCJ ActiveX Toolbox.
  7. Figured it'd be easier to piggyback on an old thread... I am having a similar issue and can't seem to figure out what I'm doing wrong. Using mnemonic within a block program as I've done for years, but now need to add another level of logic within the block. Original code only had the "SET ,IR1" -- now I have added the additional index register reference "LDNOT ,IR2" compiler errors: ERROR: Step at rung 22 (0, 3) - Too many inputs for output instruction, check mnemonics ERROR: Step at rung 22 (0, 7) - Too many inputs for output instruction, check mnemonics mnemonic: MOVR(560) DHF1_01_TO IR1 MOVR(560) DHF1_01_GRP IR2 LDNOT ,IR2 SET ,IR1 LOOP(809) EXITNOT(806) DHF1_GRP_CLOSE_KEEP LDNOT ,IR2+ SET ,IR1+ TIMW(813) 0083 GRPRELTMRVAL LEND(810) DHF1_GRP_CLOSE_DONE BEND(801) ideas?
  8. Just curious on this one... I'm coming from a discrete controls industry to fluid and gas controls... I know there isn't really a right/wrong answer here and there don't appear to be any ISA standard practices for this, but... How would you typically order/sequence your I/O terminals in field junction boxes? Groups of: Discrete Inputs + spare Discrete Outputs + spare Analog Inputs + spare Analog Outputs + spare Hart I/O + spare The initial plan is to bring everything back to the headend (PLC) via multi-conductor cabling... but grouping items in this way would allow for adopting remote/distributed I/O in the junction boxes if we later decide to... Any thoughts?
  9. ZCP and Arithmetic Flags

    Nice, makes perfect sense... just didn't occur to me to use an IR & loop. thanks for the elegant solution...
  10. ZCP and Arithmetic Flags

    So, I have an application where I need to do some data evaluation in a similar fashion numerous times... Basically I want to check if any words within a range of data have become non-zero between each cycle, and if so set a bit (used to push items onto a stack). In the past I've manually done this by XFER'ing the source data range [D100-D199] to another evaluation data range [D200-D299]. Then I would compare, each word [= D100 D200], [= D101 D201],... and have the output be my 'data has changed' bit. This is fine for small ranges (10 words at most)... What if I need to evaluate 100 words? I certainly don't want to have to program multiple lines of ladder just for evaluation... (as well as "waste" evaluation data ranges) It seems that the ZCP instruction will do what I need by providing [ZCP #0 D100 D199]. If any of the source data range is non-zero, it should set the Arithmetic Flag NE (not equal) // or inversely the EQ (equal flag) should be OFF. My problem is that when I have subsequent evaluations in rungs below using the ZCP instruction, the Arithmetic Flags seem 'delayed'? I have even tried inserting a [ZCP #0 #0 #0] before my next evaluation to "reset" the Arithmetic Flag to EQ, but... again it seems like the Arithmetic Flags remain set ( perhaps for an entire cycle?) Can anyone shed some light on this for me? Or suggest an alternative method...
  11. I've been using CX-One on my development machine for months without a problem. After a recent Omron rep visit, it was suggested to apply the CX-One Auto-Update tool in order to properly utilize some EIP/Datalink features. After doing so last month, things continued to work fine. I have not received any updates since then (to my knowledge). This morning (Monday) I boot up my machine and open CX-Programmer to find an installation problem with a CPS Version Upgrade that I did not attempt to allow. The installation process appears to not be able to locate said *update* and will not allow the software to run. In fact, upon selecting Cancel the process continues to re-attempt to locate and install (indefinitely). I must kill the update application from Task Manager. I have tried to run CX-One Auto Update but no updates are found. So now I am waiting for a call back from Omron Tech Support (which I absolutely LOVE)... Suggestions? Please don't say use "CX-One Remover" :( Screenshots attached...
  12. CX Common Components/CPS Upgrade FAIL

    Problem solved... Called in to Omron Tech Support after not receiving a callback for 6 hours and was given the following suggestion(s): Omron Technician had experienced the same problem in the past. Something to do with a problem in the Auto-Update Utility. Was able to locate the failing CX Common Components/CPS installation listed in Windows Add/Remove Software list. Attempts to remove software failed until a clean reboot without trying to run CX-One first. Once removed, CX-One runs properly without error. Then re-run the Auto-Update Utility from Omron247.com website, detected update needed for CX Common Components. Let the update download and install. Reboot; all is well.
  13. PMCR Comm. Response Codes

    I am having some trouble with my PMCR execution... I am familiar with PMCR instructions and have used them many times in the past. I am receiving an error code &517 and cannot find a reference to what this error is. The instructions reference manual W340 pg 933 states to refer to manual W342 for other response codes not listed in this manual (only 4 are listed); but I cannot find anything relative in the given manual (only FINS response codes and C-MODE comms). Can someone enlighten me?
  14. PMCR Comm. Response Codes

    turns out that in a completely unrelated section of ladder where I am communicating with some remote FINS nodes, I was using the automatic Logical Port setting (#0F) instead of stating a specific logical port number. Made perfect sense when I finally discovered the issue!
  15. PMCR Comm. Response Codes

    thanks, this is a step in the right direction... PMCR is definitely the comm. mode for the given port; I'll have to dig deeper to try to find out what is causing this response delay... Is the response delay referring to the local SCU, or the remotely connected serial device? I have tested PMCR functionality before without anything physically connected to the SCU ports without problems...
  16. Should I Use Function Blocks?

    This is very interesting... I have read about indirect addressing within a PLC but never attempted to implement. I use indirect addressing frequently within my HMI scripting to re-use a single screen/window for 100's of similar devices... perhaps the PLC should follow suit. thanks for the **ahem** simple example, it certainly pointed me in the right direction. I am going to abandon the FB method. Thanks for everyones' input.
  17. Should I Use Function Blocks?

    Bob, that is a good point: Most of the control systems projects we deal with are spec driven requiring us to be involved for 2-3 years post-substantial-completion. We will likely be dealing with the initial hiccups of the system... What I am running into as of late, is that in retrofit applications we are adding and removing devices on a regular basis in phases to reach the final completion on the project... Using regular ladder and "pseudo" points, I have to constantly maintain what symbols are being added, where to add them, and the same with what is being removed/deleted (if that makes sense)... Using FBs would allow me to only deal with the ACTUAL io points in most cases. Sure I would still deal with the Timers, alarms, etc on a onesie twosie basis but from where I am looking it would allow me to curtails some major obstacles... With all of that said, I still want to be able to generate the PLC code efficiently (and of course be able to understand and explain it to maintenance personnel).
  18. Should I Use Function Blocks?

    PDL, Many of these FBs will in fact contain timers (length of time to pulse the associated output), and in fact the timer value will likely need to become an input variable... I realize that I can manually create a new instance of these FBs to accomplish truly independent instances of the timers/values assoc. but is there a way to do this quickly... the manual method is not that appealing to me :)
  19. Protocol Macro (.psw) File Lost

    Got it... Never realized that it was necessary to select the desired unit/board to upload from within the PLC I/O tree from within CX-Protocol. thanks for the pointers, -j
  20. Protocol Macro (.psw) File Lost

    ahem... as you can see, the UPLOAD protocols option is not available, even though I am in PROGRAM mode. the UPLOAD option has never been available in ANY version of PMCR that I have used (currently latest 1.70). the DOWNLOAD option works fine (omron's download means pushing the .psw config into the SCU) the UPLOAD option does not (omron's upload means pulling the <insert functionality here> from the SCU) thanks -j
  21. DeviceNet - DRT1 vs DRT2 Series

    i just noticed that the link you provided was the european site... What bearing (if any) does the difference on equipment displayed on the u.s. vs. the euro. sites have on what is actually attainable from here in the u.s.?
  22. DeviceNet - DRT1 vs DRT2 Series

    thanks for the info: this confirms what I've gathered from reviewing manuals and datasheets... I still can't understand why Omron doesn't populate their online catalog of brochures and list of equipment for what is available: e.g. The link you provided doesn't list the DRT2-ID/OD32ML (higher density 32 pt digital i/o modules with the MIL connectors). gotta dig into the manuals to find out what Omron actually has as a DeviceNet 'connectable device'. anyway, thanks again
  23. CJ1W-CLK21-V1 Communications failure

    wow... as a side note... been working with cx-programmer for 5 years now... never knew you could display the "output instructions horizontally"... MF this would have been nice to know 4 years, 11 months, & 30 days ago! helps to read every post!
  24. Remote I/O Options

    I am in the design phase of a project and I need a little help. The project contains a fairly large amount of I/O (~32 channels per location) where I will have a redundant CS1D plc in the main security electronics room and 3-4 other remote I/O racks. Trouble is, in the past I have used the RM201 modules with the slave G79 modules. The limitation was that I was limited to a single channel of I/O per G79 slave (fairly large footprints). I would like to stay (as closely as possible) with some sort of high-density I/O modules (3-6 channels per module) as is found with the rack-mount modules that I will be using for the main CS1D rack. I have been looking at the DeviceNet (DRM21-V1) and associated slaves to accomplish my high-density project with a smaller footprint. The information is limited (or I am poor at locating it) on the datasheets/manuals from Omron247.com. Can someone offer some advice/suggestions...