strantor_

MrPLC Member
  • Content count

    36
  • Joined

  • Last visited

Posts posted by strantor_


  1. The circled portion is not inside any IF statement, so as soon as you go to state 30, it immediately goes to state 40. And per the symptoms you've described, it seems from state 40 it also goes straight to state 50, which sets it back to state 10. And all this happens way too fast for you to see.

    20180331_202859.png


  2. I currently have multiple brands and suites of PLC software on one laptop and they don't play nice with each other. I have everything but Sysmac Studio on there; haven't installed it yet.

    I just got a new laptop with a good processor and 64gb of ram, running VMWare. I'm going to segregate my PLC softwares into different VMs by brand, or by suite if necessary.

    So is it a good idea to install Sysmac Studio in the same VM with CX-one? Or should I give it its own VM? And while we're on the topic, are there any other Omron softwares that might conflict with other Omron software?


  3. I installed NB designer 1.45 on a new Windows 10 computer and none of my NB projects will compile. I get this error:

    logo.png.1f9e105e48f53921cb36e1d8d48f627

    I downloaded & installed the latest NB Designer (1.46) and tried again, same result.

    I AM running the software as administrator, and also tried running in compatibility mode for Windows 7.

    Any Ideas?

    Thanks in advance

     


  4. I hope the HBM load cell does not use very deep ASCII commands. I just finished an ASCII project with a different device, and it was originally specified for CP1H, which does not support STRING data type (neither does CP1L/E). Here's an example of the message exchanges required to get a measurement value from the device:

    convo.PNG.2b2a53af9139105b2ef4e367f20111

    Because of this, especially that long string "D/KS....." which needed to be examined and values parsed out, the project quickly became very complicated and difficult without STRING data type. I had to change the PLC spec to CJ2M in order to meet the deadline.

     If your load cell is just sending you a number it should be easy enough, but if requires a whole conversation to coerce a value out, or it's sending something like above, consider doing something else.


  5. 9 hours ago, FranzPLC said:

    I just discovered work bits. Never used it, I just want to know when will I use it.

    Work bits are non-retentive memory. Use them for almost everything, except that which needs to be retained.

    D20.00, if ON before power-off, will be ON when power comes back.

    W20.00 if ON before power-off, will not come back to the ON state when power comes back.


  6. I found A solution. Not sure if it's the best solution. Open to new ideas.

    I just changed the WORD in my datatype to a BOOL and new the BOOL is named. When I type the WORD address into the TIMLX instruction it inherits the symbol name from the datatype but shows no ".xxx" - good enough for me.

    timl4.png.b874e522b6a7a84a2006f57dbedba7

    timl5.png.512ba77c81a10437d9edb2e6986332


  7. I am getting ready to migrate a bunch of TIMX to TIMLX. For this I want to create a custom data type for the new timers' parameters. I want to give a name to a BOOL within a WORD that is also named. Because for some reason TIML/TIMLX makes you specify an entire word for the completion flag, when all you need is one bit of the word. Maybe it will be more clear if I demonstrate:

    timl.png.616df96b7af00ba330410299a4d36a8 

     

    timl3.png.9e8206b8c6431e49659a950af52b0a

     

     

    timl2.png.4dbb699f9e0f6508e80914ccee9b9d

    Is there a way that  I can name the bits within my CompletionWord? 

     

    Thank you

     


  8. I've uploaded one of my projects that contains the whole shebang of networking with the DRM21. CX-Integrator file and CX-Programmer file (all logic & FBs deleted - CIO tags still intact) .

    You set up your remote I/O memory locations in CX-Integrator and then add CIO addresses in your CX-Programmer program that correspond to what you  put in CX-Integrator.

    ss1.thumb.png.3b17bec6ad9a9ed4696e7b65f8

     

     

    ss2.png.7e9826e2c0c23fa02318526a7dffb6db

     

    ss3.png.4cf8f3db6eaa405fe5d29c289cb0eca7

    DRM21 example.zip

    1 person likes this

  9. I just received a box of Omron parts from my supplier and they had dust/lint on them. That caught my eye so I looked harder and realized there are no stickers over the vents that I'm used to seeing. The ones to keep debris out during installation and say "remove after installation." 

    These were purchased as NEW parts and they were inside their proper boxes sealed with Omron tamper tape intact. The boxes do not look like they have been opened. The PLC and I/O cards have MFG dates <6mos old. 

    I am used to Omron components coming with the debris sticker, and had they not been covered in dust I probably wouldn't have missed them. I don't know what to think. Now I doubt my memory of the stickers; I know for a fact I've seen them on Omron PLCs and I/O cards, but on ALL of them? I'm just not sure. And now I can't remember when was the last time i specifically opened CJ1W I/O. So I Google Image searched my specific cards and found several images of them with the stickers. I know that, at some point, these stickers would have been on my cards.

    Has Omron ceased the practice of installing these stickers? Or did I buy not-so-cleverly disguised used cards?


  10. 9 hours ago, BobB said:

    I think you will find this is coming out of Japan and not Europe? It appears the Japanese think differently to the rest of the world? LOL

    Yes I agree. I devoted a lot of time in the manufacturing plant where I cut my teeth, pondering to what extent cultural differences affect our logic and what we find intuitive. Most of the machines in that plant were from the '60s, and were a mixture of German, Austrian, American, and French machines. As a noob I picked up ladder diagrams very easily with no real training, but the old European physical relay logic prints were something that took me a while to grasp. I kept telling myself "think like a German." Siemens is another example. Maybe for a German it's totally intuitive. For me, the time I would have to invest into learning where they've hidden everything probably wouldn't pay off, unless I was to groom myself into a "Siemens Specialist" and do only Siemens for a living, so I stay away.

    I think my American upbringing naturally led me to find Allen Bradley and Ladder Logic more intuitive than Siemens and IEC drawings - in some way that I don't fully understand. I can't put my finger on it, but there's definitely something to this. 


  11. Excellent! You saved the day again, Michael! Thank you!

    I thought I had tried everything. "Event?" = [Alarm History] Really? That's wasn't even on my list of things to try.

    I'm starting think maybe I should have attended some vendor training before diving into NB. Other Omron stuff was more intuitive.

     

    5a5d85920bac3_alarmhistory.png.b0826110c


  12. I would like to have an "Alarm History" page showing historical alarms with timestamps for time generated/acknowledged/cleared. Like this (ex from web, not my work):

    alarm_object.png.562b04a821fdcbd16407e21

     This is a fairly common feature but I do not see an out-of-the-box solution in NB designer. I have played around with the "Event History," "Alarm Display," and "Event Display" and none seem to fit. I feel like I'm supposed to make "Event History" work for my purposes, but it's pretty confusing for me. The manual could be better.

    Any example of, or guidance for implementing an alarm history in NB,  even if not exactly like I want, will be greatly appreciated!

    Thank you!


  13. On 11/24/2017 at 8:17 AM, Sprudle said:
    Just now, Sprudle said:

    PLS: Programmerbar logisk styring

    =

    PLC: Programmable Logic Controller

     

    The same :-)

     

    Sry for language mix!

    The "I/O Table and Unit Setup option" is missing in CX-programmer (left side under the PLS) and is greyed out under PLC-->Edit--> tab.

    Ah ok. Thanks for the explanation. I accidentally deleted my question while you were answering it. I was trying to edit it to show the quote.


  14. Ok I wasn't able to add the CP Series and transfer directly from CJ to CP. For your (and everyone's) reference, here's how I had to do it, using the general concept that you provided.

    Starting point. CJ/CS/NJ with all my addresses in it

    fix1.png.40b25a4747df15de79214ee1df86cf4

    Step 1: add a CP series (or any PLC with serial port I guess). This is just an intermediate container for information.

    Add a serial link between them

    fix2.png.9cc0565d538cd923af35385adf80613

    Step 2: Perform the memory address transfer as described in the document provided by Michael Walsh in post #3

    fix3.png.771b9014a5336373bcaba398a0d2ede

    Step 3: Delete the CS/CJ/NJ, and accept the scary confirmation message. 

    Add a CP series where it used to be. Configure the IP address according to the document

    fix4.png.af9d824b1a9e95eb6df168e985d3b73

    Step 4: Double click the HMI , Go into the communication settings, note that the HMI protocol is different than the only PLC in the program. Change it to CP series ethernet.

    fix5.png.2cc31ed9f22b7c4f5ec1cfbb60969d7

    fix6.png.fc2d6101d78f58b987836035fa4478e

    Step 5: Perform the Same find/replace operation to migrate the addresses out of the temporary CP1H (PLC1 in my case) to the new CS/CJ/NJ (PLC0 in my case)

    fix7.png.eaef6977c172a92f44ffb9eea507a1c

    Step 6: delete the temporary CP1H and serial connector

    Done!

    fix8.png.edd8a515b7f14e80b4ddc63a2056918

     

    Thanks Michael!

     

     


  15. Thank you Michael. Following those instructions it worked perfectly just now, when I migrated the addresses from CJ/CS/NJ series to another CJ/CS/NJ series (as a test). But when I add the "CP Series Ethernet" it does not work. Starting from scratch with an untouched copy of my program, I add the CP Series Ethernet, set up IP address and everything as described, and go to find/replace, on both sides of the window, the new PLC is not in the list. Only PLC 0. 

    Just to make sure I wasn't crazy, I added 3 of each. It will only let me transfer between CJ/CS/NJ series.

    problem2.png.3840693f48c8b860de1b91976fcproblem1.png.7da595d34aec0dce80880373b1aproblem3.png.c3f6ca3c51e96a0a4813d4ddba8

     

     

     

    EDIT: figured out that if I change the the comms protocol in the HMI from CS/CJ/NJ to CP series, now my options become PLC 0,2,4 instead of 1,3,5. So it would appear that to use find/replace there is an unreasonable prerequisite that all the PLCs be on the same protocol. I will try adding a serial connection instead of an ethernet connection, see if that works, and report back.

     

    Thanks again for providing the document.


  16. I apologize in advance if I am unclear as to what I'm trying to do. I've retyped this several times and it seems to be one of those things that's hard to communicate if you're not there to see it - Like Christopher Walken trying to explain Baseball in Blast From The Past.

    I'm writing programs for an NB10 and a CJ2M-CPU32 with Ethernet comms between them. I am waiting on delivery of the CJ2M-CPU32 which is taking forever, and in the mean time I've been using a CJ2M-CPU12 that I have laying around - it doesn't have an Ethernet port.

    I've already programmed a significant portion of both HMI and PLC, without the benefit of having them communcating with each other. Now I'm getting to the point I really need them talking and getting desperate without my CPU32, and trying to make something else work. 

    The only Omron PLC with an Ethernet port that I currently have is a CP1H with a CP1W-CIF41 option board. All addressing in the HMI I have mapped to points in the (future) CJ2M-CPU32. I tried using my CP1H as a "simulated" CJ2M with the same IP address, but the HMI is having none of that. It's giving me a "[1] PLC Response Error," which is different than the "[2] PLC No Response: 00-0C-3" that I get when the cable is unlugged or when the PLC IP address is wrong, which tells me that it is "seeing" the PLC at the correct IP address but it too smart to be fooled by a CP1H when its looking for a CJ2M. When I put a dummy program (NB/CP1H) in the NB and in the CP1H, it works; I can toggle a bit from the HMI in the PLC. But when it's looking for a CJ2M, apparently only a CJ2M will do.

    In the NB program that I've already invested so much time in, I can't simply change the model of PLC. If you start with CJ series, that's it. If you want to change models, you have to delete the CJ series, and put in a new CP series. But when you delete the CP series, it deletes all of the addressing for every single widget on every screen, that was mapped to the original CJ series.

     

    I hope I have clearly stated my problem. Are there any suggestions for either tricking the HMI into thinking a CP1H is a CJ2M, or migrating the NB project to a CP1H without losing all addressing, or something else?

    Thanks in advance,

    Strantor.


  17. 23 hours ago, innoaloe said:

    Well... if you go to CX-Programmer Help-->Manual--> Function Block/Structured Text Part, you'll find this on page 147.
    The CP, CJ, CS manuals only talk about ladder instructions. Omron kept the Structured Text manual separated as a single manual for all PLC since it was implemented after initial series launch.

     

    Thank you.

    I did come across that later, but I still feel somewhat justified in being irritated with Omron on this matter. That little blurb that you circled is only half-way informative. It is the only mention anywhere in any of the manuals, and it doesn't come close to saying "CP series cannot support ST instructions for String type."

    I understand that the ST function came after the release of CP1H, but can Omron not create a manual revision covering CP1H ST instructions?

    And if they're not into revising manuals, how am I to know that the circled blurb is even current? Maybe the manual came out before CP1H? I don't know the timelines of these things.

    This should be spelled out in bold, in a logical place that someone would look for it if they were considering purchasing it for their application. Like in the datasheet released may of this year, page 1, Features, 8th bullet down,  where it says " • The structured text (ST) language. Makes math operations even easier ."  Maybe instead it could say " • The structured text (ST) language - Partial Support. Makes math-only operations even easier. (See W451 Rev 2017 section 5 - Structured Text)" - and then actually release a new W451 with a section on structured text.

     

    Anyway, rant over. Thank you for your response and I'm sorry if my reply seemed negative. I'm still a little butthurt.

    I'm moving on though. The CP1H is in pieces in the bottom drawer of my cabinet, and I have a CJ2M on the desk now. This one DOES support string. All good now (except the money).