MrPLC Member
  • Content count

  • Joined

  • Last visited

Community Reputation

23 Excellent


About innoaloe

  • Rank
    Omron Engineer
  • Birthday 03/24/91

Contact Methods

  • Website URL,,
  • Skype

Profile Information

  • Gender Male
  • Location Jakarta
  • Country Indonesia
  • Interests Drawings, Piano, Japanese Music

Recent Profile Visitors

1703 profile views
  1. CP1H does not support STRING data type in ST?

    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.
  2. [Utilities] - Omron Simple HMI_FINS/UDP

    I designed it using Visual Studio 2012. VS 2010 might be able to open it since I didn't use any unique framework.
  3. A Function Block is just another type of variable, so you need to define it in either Internal or Global Variables. E.g. make a MyPID Variable with type of PIDAT Function Block. Then in ST you just simply call the instance name MyPID. I will contain all the In/Out of the PIDAT Function Block
  4. How can I simulate CP1L-E & NB HMI?

    Technically it's possible. The NB can be simulated in Direct Online Test mode when the PC/laptop is connected directly to a serial port of that PC/laptop (you cannot do this with Ethernet PLC connection) The NB will send FINS or HostLink Command (depending on what PLC type we choose) to the serial port. FINS or HostLink Commands definition are available on Omron W432 manual. This means you also need to emulate the FINS or HostLink reply in the PC, by either using a custom made program or other manner possible. Worth it? I think not :D
  5. I never used it, but referring to the manual (screenshot here...) you can see that the TimeWidth and ReachSP values might change depending on the parameter you've input and the Step Number. I think this is to prevent any unintentional behavior due to improper parameter settings.
  6. i have problem to ask you, hope you help me. i  used APR instruction in PLC CP1E N30, and i have reference some examples of APR command, i do not understand why MOVE # 8000 into Word control. I have attached the image below. Can you explain this problem.I am using analog module CP1W MAD11 has 2 input channels as input 0: 0-10v, input 1: 4-20mA, analog output: 0-10, so Can I MOVE # 8000 into Word Control ? i want to scale pressure value 0 -10bar with range 0-6000,thank you


  7. Indirect addressing in FB CJ2

    For FB typically we use the IR and DR register for indirect addressing. Although compared to the Decimal-based reference above (The @ tag) it's more complicated to use. But pretty reliable I'd say
  8. If you already creating a UNION Type which contains the same datatype as your required I/O Map, you can use that Type for I/O Map directly. For your case, just create 85 Union Global Variables for outputs, and 45 Union Global Variables for inputs. Map those to your Pneumatic Island I/O Map. That way you don't need to use the MOVE instruction anymore.
  9. CP1H + CIF12 custom protocol

      As Berti Baker mentioned, CP1H is programmable only with CX-Programmer. About the text editor, CP1H do supports that, but only for Function Block creation. You cannot use it in the main program itself. You can create the sequence all in text editor, but still need to call the Function Block generated by it in a Ladder program. In my opinion, you just make the program flow in the normal ladder way, but for sending/receiving and protocol editing, you can create a custom Function Block with the text editor for easier measures. Only CJ-series PLC supports full text editor programming in CX-Programmer.
  10. Funny, because it did worked for me. I attached an example here. This is the way I did the conversion. You can see from the Watch Table that each characters are converted to it's proper Hex ASCII Code
  11. In Omron CX-Programmer, CIO addresses are referred by numbers, so if you put numbers like 0 to 2560, it will mean you're accessing CIO 0 ~ 2560 address contents. In your screenshot, your SV is set to 4 which means your SV is the value inside CIO 4 address, which typically will be defaulted to zero during simulation. As CNTR is a BCD counter, you should put # mark next to the number you desired for SV to put it as a BCD constant. Example for SV of 4, you put #4 in the SV. This rule applies for any direct number input operations like BCD Addition / Subtraction. For binary numbers (lets say you use CNTRX instruction, which is a  binary counter) you should put & mark next to the number you desired. Example for SV of 4, you put &4 in the SV. That's just the rules defined by CX-Programmer.
  12. If you can print already then it means you already understand how the SktTCPSend works. It sends data stored in Array of Bytes. Typically you will create a STRING variable first which contains the text, like 12345 for example, then you use StringToAry function I believe to convert the said STRING into Array of Bytes. To add <ESC> you can do it 2 ways : 1. Put a $1B in your String, e.g. you want to print 12345<ESC>, then you fill your string with '12345$1B' . The $ operator is a String character code detector. On some cases though it cannot detect what code is inputted (depending on what code being used). 2. Set the last byte in your array to 16#1B. Let's say printing 12345, then you will have a byte array of (16#31, 16#32, 16#33, 16#34, 16#35). You just need to move the value 16#1B into the next array index
  13. OMRON CJ2M-CPU11

    ModbusTCP with NB HMI uses the []X addressing, example 4X Addresses is to read Holding Register values. Which Holding Register you should read again? You must look onto the MFM Communication Manual. NB can only help you to read and view it, but it wouldn't know which register it should read if you don't specify it. Since your MFM have ModbusTCP Server built-in, you shouldn't need any PLC for this communication.  
  14. I just found out from this article HERE that TeamViewer did have a VPN utility inside (already checked with my TeamViewer program also). Follow that article to set it up
  15. I have two guesses : 1. You don't have any battery installed on your PLCs 2. You didn't transfer your IO Table setting to your PLC I don't know what you mean by clicking "Set" and "Regist". Didn't see any of that in the IO Table window. Typically there will be "Transfer PC to Unit" button to save your changes into PLC. Make sure when transferring program you also check the IO Table and Special IO Unit Parameters checkbox, or else the IP Address settings will not be transferred. The 192.168.250.XXX is a default addressing system used by Omron only if the ETN unit parameters is not set manually. The XXX will depend on your Rotary Switch settings (in your case it is 31) Let's say you've downloaded the settings, in the case if your PLC didn't have any battery, after power cycle the content of D Memory Area which holds the IP Address value might be cleared so the settings will revert back to default.