-
Content count
425 -
Joined
-
Last visited
Content Type
Profiles
Forums
Downloads
Calendar
Everything posted by innoaloe
-
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
-
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.
-
I can only think about Parameter number 3.38 since that's the only place you can set something related to direction IMO...
-
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.
-
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
-
Just going to let it out here... : WHY CAN"T I RENAME MY PAGE????
-
Sysmac Studio Improvement Request
innoaloe replied to BITS N BYTES's topic in NJ Series / Sysmac Studio
Simply said, we can't :D -
@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.
-
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.
-
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
- 3 replies
-
- cx-supervisor
- color
-
(and 2 more)
Tagged with:
-
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?
-
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.
-
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
-
No, that's not possible. See the plc Settings under the peripheral port. You'll see that Rs232 does not exist as an option.
-
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.
-
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.
-
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
-
Read EF82 Analog Sensor - CP1E-N30DR-A with CP1W-MAD44
innoaloe replied to AlbertMessakh's topic in Omron
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. -
Anyone have much experience creating IAGs?
innoaloe replied to AngryRobot's topic in NJ Series / Sysmac Studio
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 -
Anyone have much experience creating IAGs?
innoaloe replied to AngryRobot's topic in NJ Series / Sysmac Studio
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. -
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 :(
-
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.
-
Anyone have much experience creating IAGs?
innoaloe replied to AngryRobot's topic in NJ Series / Sysmac Studio
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