Writing OPC - need some advice - plc

Im using free fatrat library to create server and i have a few question:
On server site i think that I only need to do is give parameter about server like clsid, description, version and create branches and leafs, am I wrong? I dont know either if branch means group and leaf item?
If i want to get from PLC data for example 10 000 Real and 10 000 Bool values, that means i must create 10 000 leafs for real and 10 000 leafs for bool?

Yes, in the address space a branch is kind of a group and leaf is an item, i.e. variable.

Related

NetSuite Assembly Build error, "The total inventory detail quantity must be...", what is causing this?

Attempting to declare production of an assembly using the assembly build. As far as I can tell we have enough item inventory to assign the lots-bins-item-quantities to everything in the BOM. Cannot declare. Usually get an error about a particular item. Have seen that item be different on different attempts. Have looked at that item and appears we have enough. I've even decremented the BOM blow out to a lower quantity to assign inventory detail that matches.
I do notice that the "Buildable" quantity populates as about a half unit less than the build quantity I enter. This matches the "buildable" quantity shown on the WO. I don't know if these two issues are related. I can't tell how it's coming up with the buildable number or the constraint from matching the WO quantity.
Thank you.
You don't indicate if this is via SuiteScript, or via the user interface, so I'll assume this is the client interface.
The Builable figure is based on the minimum quantity of each component committed to the work order (if committment is enabled). Given that you are seeing a .5 less than the quantity required, then this item is buildable to a degree, but requires more component stock.
The message you are seeing on the assembly build can be because :
The quantity entered on one or more components doesn't match the bin location quantities e.g 7 are required but only 5 have been provided in bins ; and/or;
One or more items are serialised or lot controlled, and the inventory detail has not been completed to include this information. e.g. 5 are required, but the lot numbers XX and YY are used to a quantity of 4; and/or
The item being built is serialised or lot controlled, and the lot/serial reference of the built assembly has not been entered, e.g the serial number 5 are being built and serial numbers 123, 124, 125, 126 & 127 should be provided to create the serialised assembly.
See SuiteAnswer 28169 and SuiteAnswer 28170 for information on creating a build of serial & lot assemblies.

How to queue up multiple material items into a station

I am trying to figure out how to queue 3 material items which would then enter 3 different stations. Lets say the material items are named as (1,2,3). For the first station, it will accept 1 and then 2 and then 3. For the next station, it will accept 2 and then 3 and then 1. And for the final station, it will accept 3 first, and then 1 and finally 2.
So there will be a starting conveyor in which all three material items would be randomly generated, and the conveyor will branch out into 3 other conveyors containing the stations.
I am quite new to anylogic so any help would be much appreciated
New edit:
So what i am trying to accomplish here as you can see there are three conveyors which would converge to one final conveyor where the station is located. There are 3 sources, whereby source 1 would have MyAgent1 , source 2 have MyAgent2 and source 3 with MyAgent3. Before the material items ( MyAgent1, MyAgent2 and MyAgent3) arrives at the final conveyor, I want it to enter based on a specified order - ( MyAgent2 followed by MyAgent1 and finally MyAgent3). Each Myagent will enter individually and not in a group, and the process will repeat itself again.
I tried to utilize the queue block with agent.priority thinking that it will prioritize according to my preference but to no effect.
Im sorry for the lack of anylogic lingo as i am not that familiar with it, if there is any help it would be much appreciated and you may ask for more details. Thank you
enter image description here
enter image description here
enter image description here
It seems that you would need a custom station (or many) in which the items wait and are resorted to their destinations.
But beyond saying that I don't think it is possible to give you more details with this level of information

How to segregate large real time data in MongoDB

Let me explain the problem
We get real time data which is as big as 0.2Million per day.
Some of these records are of special significance. The attributes
that shall mark them as significant are pushed in a reference collection. Let us say each row in Master Database has the following attributes
a. ID b. Type c. Event 1 d. Event 2 e. Event 3 f. Event 4
For the special markers, we identify them as
Marker1 -- Event 1 -- Value1
Marker2 -- Event 3 -- Value1
Marker3 -- Event 1 -- Value2
and so on. We can add 10000 such markers.
Further, the attribute Type can be Image, Video, Text, Others. Hence the idea is to segregate Data based on Type, which means that we create 4 collections out of Master Collection. This is because we have to run search on collections based on Type and also run some processing.The marker data should show in a different tab on the search screen.
We shall also be running a search on Master Collection through a wild search.
We are running Crons to do these processes as
I. Dumping Data in Master Collection - Cron 1
II. Assigning Markers - Cron 2
III. Segregating Data based on Type - Cron 3
Which runs as a module. Cron 1 - Cron 2 - Cron 3.
But assigning targets and segregation takes a very long time. We are using Python as scripting language.
In fact, the crons don't seem to work at all. The cron works from the command prompt. But scheduling these in crontab does not work. We are giving absolute path to the files. The crons are scheduled at 3 minutes apart.
Can someone help?
Yes, I also faced this problem but then I tried by moving small chunks of the data. Sharding is not the better way as per my experience regarding this kind of problem. Same thing for the replica set.

PowerApps datasource to overcome 500 visible or searchable items limit

For PowerApps, what data source, other than SharePoint lists are accessible via Powershell?
There are actually two issues that I am dealing with. The first is dynamic updating and the second is the 500 item limit that SharePoint lists are subject to.
I need to dynamically update my data source, which I am currently doing with PowerShell. My data source is not static and updating records by hand is time-consuming and error prone. The driving force behind my question is that the SharePoint list view threshold is 5,000 records however you are limited to 500 visible and searchable records when using SharePoint lists in the Gallery View and my data source contains greater than 500 but less than 1000 records. If you have any items beyond the 500th record that should match the filter criteria, they will not be found. So SharePoint lists are not optional for me until that limitation is remediated
Reference: https://powerapps.microsoft.com/en-us/tutorials/function-filter-lookup/
To your first question, Powershell can be used for almost anything on the Microsoft stack. You could use SQL server, Dynamics 365, SP, Azure, and in the future there will be an SDK for the Common Data Service. There are a lot of connectors, and Powershell can work with a good majority of them.
Take note that working with these data structures through Powershell is independent from Powerapps. Powerapps just takes the data that the data connector gives it, and if you have something updating the data in the background (Powershell, cron job, etc.), In order to get a dynamic list of items, you can use a Timer control and a Refresh function on your data source to update the list every ~5-20 seconds.
To your second question about SharePoint, there is an article that came out around the time you asked this regarding working with large lists. I wouldn't say it completely solves your question, but this article seems to state using the "Filter" function on basic column types would possibly work for you:
...if you’d like to filter the set of items that you are showing in the gallery control, you will make use of a “Filter” expression, rather than the “Search” expression, which is the default that existing apps used. With our changes, SharePoint connector now supports “equals” type of queries on columns that support filtering (Single line of text, choice, numbers, dates and people), so make sure that the columns and the expressions you use are supported and watch for the same warning to avoid reverting back to the top 500 items.
It also notes that if you want to pull from a list larger than the 5k threshold, you would need to use indexes, I have not fully tested this yet but it seems that this could potentially solve your problem.

Connecting nodes to multiple dates

I have company website, with many offices around the world (around 50 offices).
The company want to create a gift giveaway with the employees in a specific company each specific day.
For example:
Office 1: will do the giveaway the days: 1/1/2010, 7/1/2010, 15/1/2010, etc...
Office 2: the days: 2/1/2010, 9/1/2010, 19/1/2010, etc...
Office 3: ....
Office 50: ...
(the days are setup manually to specific offices, no need of an algorithm here)
I have a node per Office, it's a CCK content type with details of each office (location, phone, email, etc), now I need to assign those days to the offices.
But my problem here is that I don't need to create events (or at least node events) because I don't need to store any data in the event. Just need to say: Office 1? Yes, days 1/1/2010, 7/1/2010, etc...
Nothing else, just to know the dates.
And, if possible, make them available to display in the calendar module.
What is your suggestion?
Withs CCK and date module you can create date fields, but if you have many fields you want to add, this might not be the best solution.
You have two general ways of solving this issue. Either you need store each date. This could be done with date field, not sure if it can handle multiple values, node reference or similar. This is inefective it some ways, but will make it easy to generate calendar view.
You could also write a string with as the date info and let php convert it to dates. This route will make it easier to create and store the data, but will make it a lot harder to get things integrated with calendar.
The fatest / easiest solution would probably be node reference with a date module, combined with a script to create all the nodes need. Instead of making them inside Drupal.
You could also create a custom module that stores this info for you. It would be a more longterm solution and require more work to integrate it with views and date/calendar modules.
There are many ways to go about this, but it really depends on your need, skill and time
Why not use a plain old CCK text field with a good clear description of what it's for and how to format it with something in the help section to back it up?
Use a text area (multiple rows) and apply the default input format that converts lines line breaks. I like to use the mark down filter too.
You could also use multiple single line fields in place of a text area...
This assumes your users are smart enough to enter the correct info of course but that's what the help and description are for. If your users can't be trusted to enter the content in correctly then yes, go for something that forces them to do so.
Ok I've found the solution myself and I want to share it with you:
Created three content types:
Office: with data of the office
Days: with a node per day (365 * year)
and Giveaway: with two node-reference fields, one for Office and another for Day.
(Days must be populated manually using a script that fills the upcoming 2 years or so).
So I can fill only Giveaway content type, and that's enough.
And then only the views are remaining.