innoaloe

MrPLC Member
  • Content count

    425
  • Joined

  • Last visited

Everything posted by innoaloe

  1. CX-Programmer Unable to Open File

    What version is your CX-Programmer? I think instead of downgrading, you need to upgrade, since CX-Programmer is always backwards compatible.
  2. How to reset

    You can also use MOV instruction to reset the timer. E.g. for your T0 with #30 preset, you can execute [MOV #30 T0] instruction when needed to reset the value. Then again, Mendon's suggestion is far better. Use the RTC
  3. Sysmac Studio Improvement Request

    The answer is No, as far as I know... If you're redefining things inside a program then it's quite an issue, but in the variable table actually you can define an array not from index 0. Usually by default it will shown as e.g. ARRAY OF BOOL [0..9] for a BOOL array with size of 10. However you actually can change the Start and End Index as you want it, such as ARRAY OF BOOL[10..20] will also create BOOL array with size of 10, starting index from 10  
  4. 3D simulation of delta robot

    You can make it without a Hardware (simulated axes), but don't think of it like a real Robot Programming software. Basically you create the Motion instructions to move the Robots and conveyors, then you Trace the positions of the axes using the DataTrace function. At the DataTrace function there are built-in libraries for some 3D Model definitions, including Delta Robot and Conveyor Belt. You playback the Traced Data and see the model move according to that data.
  5. Encoder Program for CW & CCW rotation

    Your Encoder output is Differential Phase, so in good way you can use it for Up/Down or Pulse + Direction method. Let me clarify :   Up/Down mode typically used for counters. You had one switch wired to Up Input and another one to the Down Input. You press Up switch, it counts Up by 1. You press Down switch, it counts Down by 1. Encoder has differential phase which means halfway when A is on, B starts to went On. Halfway when B is on, A starts to went Off. This means you will never have a proper Up/Down counting, only full of noise. Pulse + Direction mode : So one input is to receive Pulse (should be the 0.00 one) which you can wire either Phase A or B from the encoder as the counting input. The Direction input (0.01) is just a simple On/Off from a switch. When Direction input is off, the received pulse will be read as counting up. When Direction input is on, the received pulse will be read as counting down. You're not wiring both Encoder phase at the same time. That's why this method also typically won't be used for Phase A+B output Encoder.
  6. NB HMI update rate

    Glad it's working okay. That might be the case if your tag file was an Array Variable. If you only display one index, the whole tag sets will still need to be read as a whole.
  7. NB HMI update rate

    NB is using FINS communication which cannot handle Read Bit and Read Word at the same time. If you're having multiple Bit object on the screen, it can be seen updating fast since on a same communication time multiple addresses are taken at the same time. However after that it needs to request the Float data separately. The general rule mentioned in the manual is to limit number of variables you have on a single screen to avoid such display lags. Having lags up to 2 minutes like you said means either too many addresses to be read on a same screen (Word / Float addresses), or maybe your PLC program did delay the update of the said address. I had same issue with Rotary Encoder display update in NB, but unfortunately it is not solvable so far. It's the limitation on the hardware and software engine of the HMI itself. However it's not as bad as 120 seconds. Usually only around 300 ms max.
  8. PLC Training

    Omron CP1E is pretty cheap I'd say... Software is actually easy, but learning instructions maybe a bit complicated at times (Japanese love to write long manuals). Price-wise you can get a Lite version of the software (CX-One Lite) which supports CP1E series.
  9. I think what he meant is the AOP (Add On Profile) function available on Rockwell. It shows directly what are the "mappable" tags inside the device. Unfortunately with current Omron we only know the Input and Output tag byte size, and decode the meaning by ourselves from datasheet.
  10. What do you mean by "Client" here exactly? CP1W-CIF41 only supports FINS/TCP Server function, so if you're connecting it to a Client, it should be a FINS/TCP Client. It can receive 3 FINS/TCP Clients at max as far as I remember. A normal TCP Client socket service is not supported.
  11. Encoder Program for CW & CCW rotation

    That's should be how a Circular Counter works... since the set value is from 0 to 1000, if moved CCW from 0 it will rollback to 1000, vice versa. Also, the Differential Phase method is actually counting both rising and falling edge of Phase A and B. If your encoder is 100 pulse/rotation, one rotation will be counted as 400 pulse in the PLC. Assuming your Phase Z input in PLC 0.04 is not connected, it shouldn't autoreset the value by itself. About the reading getting stuck : Make sure there is no INI instruction execution which resets or presets the counter value.
  12. More like having too much free time, good Sir  Lucky for me Omron got plenty of toys to play with... hahah...
  13. For Forward_Open, it will close the socket if certain inactivity has been achieved. I cannot find the exact value in the manual but it seems to be fixed around 2 minutes or so (I think it's the same with default TCP Linger / KeepAlive standard) For NJ, aside from UCMM / Forward_Open, you can also do Read/Write through Class3 Connection which enables to keep the socket alive unless you close it. For me, I always avoid to use Class3 though, since defining the Route Path sometimes can be a bit tricky.
  14. Your very welcome. Regarding your question : 1.  Logix5000 provides service with Svc Code 55H which returns the list of variables in the PLC. Does Omron NJ provide similar service ? Unfortunately No :D 2. is it possible (and reasonable) to increase the data throughput between HMI and Omron NJ using several concurrent connections  (to overcome the limited CIP packet length) ?  In the example I provided, after Reading or Writing I am closing the TCP Socket, thus also closing the ENIP Session. You can thus improve the throughput by keeping the Socket open if you need to continuously read/write data, avoiding to re-Register the Session. Keep in mind though that every few seconds you need to keep sending a packet to NJ eventhough Read/Write variable is not required, or else after certain timeout the NJ will think that the socket is inactive, Closing the Session automatically. I would prevent having multiple TCPClient connecting on the NJ (unless you're connecting to 2 different PCs) since it will reduce the overall throughput also
  15. Send text messages via Omron PLC

    A RS-232 Serial is always has a max of 256 Characters to be sent in a single instance. This does apply to TXDU instruction also, so 35 Characters is applicable.
  16. Mitsubishi Built-In Protocol (Omron FINS Equivalent)

    Thank you @Mark- and @artichoke72, going to look into it.  
  17. Hello, is there any reference for Mitsubishi built-in Ethernet protocol which similar to Omron FINS/UDP or FINS/TCP? Like a protocol used by HMI to access the PLC memory. Could anyone give reference, thank you.
  18. Question regarding CJ Addressing in Sysmac studio

    Yes you are correct, that's the way it allocates
  19. Here you go : NJ_CaptureCIP.pcapng in this example, I access a variable named "TVAR" with type of INT, and initial value of 1000. At the Read Service Request (Svc Code 4C) you should see it returns ACK Service Code CC and the return value Variable type INT (C3) and Value of 1000 in Little Endian format (E803). At the Write Service (Svc Code 4D) you should see it returns ACK Service Code CD. I'm sending to the Variable type INT (C3) a Value of 255 in Little Endian format (FF00)
  20. NJ501 MODBUS TCP/IP COMMUNICATION ISSUE

    Exactly, so you need to allocate two variables
  21. Send text messages via Omron PLC

    Ouch... In my head I was thinking of SCU31-V1... yes, SCU41 had RS232 serial port. Port1 if I'm not wrong. All SCU unit supports TXDU instructions, including SCU41. Careful that Omron DB9 wiring is different from usual Serial DB9 standard (need to make proper cable). TXDU will be accessible if you set Port1 function to No Protocol mode
  22. Well... that's definitely annoying. Gonna try it this afternoon, thanks.
  23. Give me a day to prepare. I'll make a single numeric variable Read/Write capture example using UCMM.
  24.   Weird, because I cannot find that SetItems function anywhere in a ListBox component, even on the latest NA firmware version (1.08). Can you perhaps post a screenshot when the Intellisense shows this function? Regarding changing type to Object instead of String, wouldn't CType function work? It is used to convert / cast types without copying it to a new variable