innoaloe

MrPLC Member
  • Content count

    425
  • Joined

  • Last visited

Everything posted by innoaloe

  1. CJ1M-CPU13-ETN Connection Issue

    You still need CX-P to do "actual" connection, where you can see the ladders and everything else. EtherWay at it's best can just help you to test whether the communication is possible or not. If using EtherWay is possible, then you need to replicate the settings used in EtherWay to your connection settings in CX-P. For example if EtherWay via UDP is possible, that means using the "Ethernet" (not Ethernet(FINS/TCP) or Ethernet/IP) communication method in CX-P is possible with the settings : Net = DNA Node = DA1 Unit = DA2
  2. Lost Data Memory and SCU Settings

    The only fix you can do to ensure operation even without battery, is to set the D Memory area which is used for SCU settings on the programs First_Cycle (using P_FirstCycle at the topmost ladder). That said, you need to insert all settings properly.
  3. Servo System Basic Question

    I can only think about Parameter number 3.38 since that's the only place you can set something related to direction IMO...  
  4. CP1H-EX ?

    I've encountered this one before. This is indeed made for China only. If memory serves me right, you can try auto-connect to it using the "CP1L-E Node Online" button in CX-Programmer (next to the Auto-Online button). Another way, should you know it's FINS settings and  IP Address, is to create a new project with CP1H-X40 model as the base, but set the communication settings to Ethernet and set the settings accordingly.
  5. CJ1M-CPU13-ETN Connection Issue

    If your PLC IP Address really is 192.168.0.250, insert that to the "Remote IP" section in the EtherWay before attempting Connect. Following that, since your last octet of PLC IP Address is 250, set the DA1 column of the FINS Header part to FA (hex format of 250). Also, since your last octet of PC IP Address is 245, set the SA1 column of the FINS Header part to F5 (hex format of 245) Also rather than using TCP Mode, I'd say use the UDP mode first, since it is connectionless and easier to troubleshoot. @Michael Walsh EtherWAY is another tool developed by Omron France. I'm not sure whether that or MultiWay got deployed first though. https://www.support-omron.fr/logiciels/etherway/produit.php?ref=etherway
  6. CX-Supervisor improvement requests

    Just going to let it out here... : WHY CAN"T I RENAME MY PAGE????
  7. Sysmac Studio Improvement Request

    Simply said, we can't :D
  8. NX1P2 to Indusoft communication

    @lostcontrol Cannot really guess why, since I believe the error 64 is not a FINS specified error. Typically we debug FINS protocol error using MRES / SRES information returned by the master unit when the error occurred. It you can find that info from Indusoft, that'll be helpful.
  9. [SOLVED] Color Pallete Size Problem

    Hi again! Resolved the issue. Turns out the "Zoom" thingy didn't changed as I expected before, so I manually change it again to 100%. Tried opening CX-Supervisor again and it shows properly now. Still, I think it's an overlooked bug, since the Zooming error only occurred on that particular part of the application. The other components retain its render sizes in all zooming condition.
  10. Trying my luck to ask here, if anyone can help :D So I've started using CX-Supervisor v3.41 and found a very odd problem with the color palette, as shown in the picture below. As you can see, the palette size is abnormal that the Color Selector button is not visible anymore. This window is also not sizeable, so I cannot do anything to fix it. I never encountered such problem with v3.24 before. I confirmed this is not a screen resolution problem either since I've tried to change it. Anyone encountered same issue perhaps? Maybe someone know a workaround? Thank you
  11. [SOLVED] Color Pallete Size Problem

    Hi Berti, I did tried that Zoom thing too. It was at 175% before, but I toned it down to 100% already without different result. Do you have a same app version (3.41)? Is it look like this or is it normal?
  12. CJ1M-CPU13-ETN modbus

    The Terminal mode is just your other HyperTerminal like Putty. If you're receiving too many data bytes, try giving a Differential Up to the SEND Instruction, so it should be executed only once on each trigger.
  13. CJ1M-CPU13-ETN modbus

    Yes. Hardware-wise, the connector is indeed RS232C. But software wise, that port can only send certain Omron protocols, like Toolbus (it's default. Also called C-Mode in W342 manual I believe), Host Link, or Serial Gateway. It doesn't support No-Protocol RS-232C. You can, however, sends the Toolbus command using the very same SEND or RECV instructions to the BR. But then it will be the same issue with the FINS protocol, where the BR plc need to interpret the data
  14. CJ1M-CPU13-ETN modbus

    No, that's not possible. See the plc Settings under the peripheral port. You'll see that Rs232 does not exist as an option.
  15. CJ1M-CPU13-ETN modbus

    The SEND/RECV instructions doesn't require you to input IP Address of the target PLC, since UDP is an unconnected socket communication. But you need to specify Destination Node Address, which is the 4th digit of BR PLCs IP Address, considering both Omron and BR is on a same subnet. E.g. Omron IP is 192.168.250.1 and BR IP is 192.168.250.5, the Destination Node Address is set to 5 in that instruction. Still I'd say it's pretty troublesome to do.
  16. CJ1M-CPU13-ETN modbus

    Actualy you can, if the BR supports Udp socket. Just open a UDP port on BR side then send data from the omron plc using SEND or RECV instruction. The down side though, you need to manually process the Fins command sent by omron plc and generate proper fins response also to be sent back.
  17. CJ1M-CPU13-ETN modbus

    Hi @keal, unfortunately it's not possible. The said CPU does not support open Socket Service protocol. You can only use it for FINS, web server, or SNTP. It is stated in manual number W441, chapter 1-2. You need to connect a CJ1W-ETN21 or CJ1W-ETN11 to use Modbus TCP
  18. Read EF82 Analog Sensor - CP1E-N30DR-A with CP1W-MAD44

    I cannot say for sure... but I do believe moving D104 value to CIO 102 is not needed. Also if your Pressure Transmitter shows 4 (which is the Psi/kPA values I believe) the reading in CP1W-MAD44 will not be 4. It should be some number between 0 - 6000, because the analog module translates data that way. You need to scale the reading result using either APR or simple mathematics functions to get the same reading as the pressure transmitter shows. Chances are, value of 4 in the Pressure Transmitter is too small when translated into Voltage, so the reading of the analog input becomes 0.
  19. That's a good idea and, arguably, easier to reproduce. The only downside is that PLC needs to be connected to the HMI in order for this background refresh to work... But then again what use is the HMI without a PLC intact :D
  20. Well... NA runs under an Intel CPU, so I guess having this much of multi-threading shouldn't be much of a problem. But it is still an issue to be thought.
  21. Custom Keypads

    I stumbled upon this very same issue once before when a customer asked me about it. It gave me a headache too, but luckily I spotted the said EditVariable instruction during my search quite fast enough. The funny thing though, is that the manual for that instruction only gives you hint about using NUMBERKEYPAD and QWERTYKEYPAD custom type. It doesn't even specify that DATETIMEKEYPAD is a correct keyword for that instruction, so I just tried it and luckily it can be used. There is also a dedicated manual for Custom Keypad (manual number V427) and yet it doesn't even cover this stuff or even mention DateTimeKeypad at all :(
  22. I/O Instruction Timing table from the manual

    The term stands for "I/O Refresh", so it does things for both physical Input and Output, but has no relation to the timing of when the Instruction itself is executed. Let's refer to the first two scans of "Instruction Executed" (the vertical LongDash - Dot lines) For the case of B1, one I/O Refresh cycle detects that the "LD A" instruction returns TRUE. After that you get another "Instruction Executed" cycle. On that particular time the "OUT B1" instruction will return TRUE, however the actual Physical Output itself will not changed to TRUE since the next I/O Refresh is not yet executed. That's why it looks like you need to wait for extra scan, but what really happens is that you wait for the next I/O Refresh. Using the "!" modifier on the "LD A" forces an extra I/O Refresh to be conducted at the start of the Instruction Execution. Then on the same cycle, the periodic I/O Refresh fires again. That's why the Physical Output of B4 can be turned on in a same "Instruction Executed" cycle.
  23. You can do it. But this require some bit of .NET coding experience. Anyway, I'll just put up an example for you. This code below will continuously increment a variable value by one every 1000 milliseconds. You can change that function to any statement you want. This code utilizes the fact that NA uses Windows Operating System which supports Multi-Threading. But how powerful the CPU is able to do that is up to the test. But I believe that doing Select Case statement is not consuming memory that much. 'Code behind Page - Add local subroutines for the page.     Dim TestThread As System.Threading.Thread 'You call this Sub to start the looping. For example, call it on a "PageDisplayed" event or any other event you need Sub InfiniteStart()     'Instantiate the Thread Object if it is not defined. This will reference the Thread to it's Callback Sub defined below     If TestThread Is Nothing Then         TestThread = New System.Threading.Thread(AddressOf LoopThread)     End If     Try         TestThread.Start()     Catch     End Try End Sub     'You call this Sub to stop the looping. For example, call it on a "PageHidden" event or any other event you need Sub InfiniteStop     Try         TestThread.Abort()     Catch     End Try End Sub 'Callback for the separate Thread Sub LoopThread         'Loop forever     While True         'Increment variable, or do anything you want to         MyVal += 1             'Sleep the Thread for 1000 ms. No matter how small the value, you still need a Sleep in a looping Thread         'If not, the GUI will got hanged (user cannot interact with the buttons, screens, etc.)         System.Threading.Thread.Sleep(1000)         End While End Sub