chelton
MrPLC Member-
Content count
379 -
Joined
-
Last visited
Content Type
Profiles
Forums
Downloads
Calendar
Everything posted by chelton
-
ST version of masked move.
-
Yes you are correct my mistake. another approach would be source XOR destination = result result AND mask = result 2 result 2 XOR destination = destination.
-
I would have thought the destination after the masked move would be 1001 0011 1000 All the masked move instruction does is a binary AND the source with the mask
-
Sysmac Studio Improvement Request
chelton replied to BITS N BYTES's topic in NJ Series / Sysmac Studio
1.19 only lasted till I restarted. 1.20 now. -
Help: Basic Program Question
chelton replied to Gtojacob's topic in Allen Bradley / Rockwell Automation
Counter would need to be reset parallel with latch/unlatch also -
Help: Basic Program Question
chelton replied to Gtojacob's topic in Allen Bradley / Rockwell Automation
Search the forum for flip flop. The flip flop will control the output counter done will toggle flip flop -
Help: Basic Program Question
chelton replied to Gtojacob's topic in Allen Bradley / Rockwell Automation
Another approach counter preset = 10 think about count accumulated in binary what bits are on when count = 5 turn on output and hold in counter dn can reset and break hold in for output -
Gday Bob, are you using NJ's now? Or do you only have sysmac for the NX I/O
-
Is this after an auto update? my last update wouldn't install with a similar error. I had to start windows in a clean boot environment https://support.microsoft.com/en-us/help/929135/how-to-perform-a-clean-boot-in-windows i think my antivirus was conflicting with the .net hotfix that was trying to install.
-
Read an array of strings from NJ to NA
chelton replied to Andy_P's topic in NJ Series / Sysmac Studio
my recipe control is usually on a popup, so when when i open page the page displayed event calls my ListBox_Update sub; Sub ListBox_Update Dim List_obj As Object Dim array(100) As String Dim x As Integer For x = 0 To 99 array(x) = ListItems(x) Next x List_Obj = array listbox0.SetItems(List_Obj) End Sub Haven't tried with a larger array though. -
Read an array of strings from NJ to NA
chelton replied to Andy_P's topic in NJ Series / Sysmac Studio
What is calling the array.copy sub? Can you copy the array in the background before calling the list box? -
Hi Bob, That is exactly what happened with my system with version 1.17 update By a clean boot this is what I mean. https://support.microsoft.com/en-us/help/929135/how-to-perform-a-clean-boot-in-windows
-
I had a problem with the previous update. It appeared to be my antivirus not allowing the .net hotfix to install. rebooting with a clean boot then running the update program worked.
-
Sysmac Studio Improvement Request
chelton replied to BITS N BYTES's topic in NJ Series / Sysmac Studio
It would be nice to be able to drag Variables from the variable table or other functions/function blocks to functions/function block input/output parameters, just like you can when you drag to a watch window. -
I have started a new project with an Omron NJ processor and Citect as the Scada I have the communications working reading and writing a tag. i have a few queries that I cannot find the answers too. 1: If I define an array of Int 0-99 and set the AT variable to %D00 I can address D00 - D99 in Citect . Is there a way to cross reference the AT % variables 2: I seem to be able to read and write outside the %D00 - D99 range. Is there a way of finding what memory/variable is being read/written too? 3: When you have multiple tasks / programs how do you keep track of your FINS variables?
-
Hi innoaloe So the FINS memory area is a fixed location, and setting the AT is just a pointer to that memory location. That explains why I can create local variables in different programs with different variable names and reference the same memory location by setting the same AT % It makes sense now. thank you
-
Using ABCLX to connect citectSCADA 7.4 to RSLogix 500
chelton replied to SufferingCitectNewbie's topic in HMI & SCADA
The abclx driver is not the right driver for the micro logix. Try the abmlxeip driver. -
Creating an array of String-variables in Citect 7.40
chelton replied to rajsiyer's topic in HMI & SCADA
This is the size of the integer array to store the string in an IO device, not the string size. For IO devices with a string data type you do not need to worry about this. For a local variable: Name = strVariable_Array Array size = 30 Data Type = STRING This will give strVariable_Array[0] ...... strVariable_Array[29] However, Local variables are in memory and unique to a process, so will not retain the value and will be different between clients and servers in a multi process system. If you want the same data between processes and data to be retained, create a string array on a DISK IO type IO device. -
I contacted omron support close to 2 weeks ago and am yet to hear back. Has anyone been able to connect to a CP1l using sysmac/fins gateway with the USB driver? All the documentation says its possible but I always get a "port in use" or unable to open port error. I then tried a cj2 processor and the driver works instantly. I have tried both winxp and windows 7 as the host operating system.
-
Citect.. How to use string substitutions in Cicode functions
chelton replied to rajsiyer's topic in HMI & SCADA
If i understand the question correctly, this should do it. TagWrite(sCur_ID+"MaxKW",CalcAvg()); -
Citect.. How to use string substitutions in Cicode functions
chelton replied to rajsiyer's topic in HMI & SCADA
Try this, FUNCTION LogAllMeters() int hSQL; string sCur_ID //Declare a string for the substitution. The Tag suffix is then concatenated with the prefix by using the + operator eg sCur_ID+"Vavg" hSQL = SQLConnect("DSN=<DSN_name>; UID =xxxx; PWD=yyyy"); IF hSQL <> -1 THEN Status = SQLExec(hSQL, "SELECT Meter_ID FROM METER_IDs ORDER BY Meter_ID"); IF Status = 0 THEN WHILE SQLNext(hSQL) = 0 DO // --Scan till the end of the list for all meters %Cur_ID% = SQLGetField(hSQL, "Meter_Id"); INSERT Into METER_LOG VALUES ( sCur_ID, sCur_ID+"_Vavg", sCur_ID+"_Iavg", sCur_ID+"_MaxkW", sCur_ID+"_kWh", sCur_ID+"-kVAr", sCur_ID+"_kW", sCur_ID+"_RunHrs"); END SQLEnd(hSQL); SQLDisconnect(hSQL); END ELSE SQLDisconnect(hSQL); Message("Error", SQLErrMsg(), 48);END//----outer IF End// of Function -
Adding these options to the citect.ini file resolved the communications issue. [OMFINS] Source=1/24/0 IgnoreNonFatalError=0 Delay=20 PollTime=0 Timeout=1000 WatchTime=30
-
For anyone interested I managed to get citect and cx-programmer communicating over fins/udp. It appears that the citect driver uses the same local port as cx-programmer, if you change the local port in citect on the "ports" special options with -LP20009 for example communications with both applications simultaneously is possible. @tashinz, I am using an etn21 so ethernet/ip was not an option. @lostcontrol, Thanks for the info regarding plc-plc communications
-
You have not defined any network addresses in citect. Create an entry to the loop back interface called "localhost" with the address 127.0.0.1. Then in the alarm/report/trend/IOServer menu select the newly created "localhost" address in the network address field.
-
Can you backup and post your citect project so we can have a look. What version of citect are you using?