IoT & Connectivity Tips | ThingWorx & Kepware PTC
Recently active
Applicable Releases: ThingWorx Navigate 1.6.0 to 1.7.0 Description: Covers how to configure ThingWorx Navigate to use Windchill Authentication: Background and Prerequisites X.509 Public Key Infrastructure (PKIX) Brief Introduction Steps to configure Thingworx Navigate with Windchill Authentication: Windchill Integration Runtime Thingworx Navigate Additional Information Navigate SSL Configuration for Windchill Authentication General Checklist
For a recent project, I was needing to find all of the children in a Network Hierarchy of a particular template type... so I put together a little script that I thought I'd share. Maybe this will be useful to others as well. In my situation, this script lived in the Location template. This was useful so that I could find all the Sensor Things under any particular node, no matter how deep they are. For example, given a network like this: Location 1 Sensor 1 Location 1A Sensor 2 Sensor 3 Location 1AA Sensor 4 Location 1B Sensor 5 If you run this service in Location 1, you'll get an InfoTable with these Things: Sensor 1 Sensor 2 Sensor 3 Sensor 4 Sensor 5 From Location 1A: Sensor 2 Sensor 3 Sensor 4 From Location 1AA: Sensor 4 From Location 1B: Sensor 5 For this service, these are the inputs/outputs: Inputs: none Output: InfoTable of type NetworkConnection // CreateInfoTableFromDataShape(infoTableName:STRING("InfoTable"), dataShapeName:S
We will host a live Expert Session: "Thingworx Navigate 3D Viewer" on October 9th at 11:00 AM EST. Please find below the description of the expert session and the registration link . Expert Session: Thingworx Navigate 3D Viewer Date and Time: Friday, October 9th, 2020 11:00 am EST Duration: 1 hour Host: Robbie Morrison, Product Management Senior Manager Description: Following the series of new capabilities released with Navigate 9.0, this session will focus in the details of Navigate 3D Viewer leverage this to your use cases Register here Existing Recorded sessions can be found on support portal using the keyword ‘Expert Sessions’. You can also suggest topics for upcoming sessions using this small form. Here are some recorded sessions that might be of your interest. You can find recordings for the full library of webinars using the keyword ‘Expert Sessions’ in PTC support portal search Navigate 9.0 – What’s New? This ses
Update to Connected Factories Benchmark Scenario Three: One Kepware Server in ThingWorx 9.0 The goal of this scenario is to confirm the same performance in ThingWorx 9.0 as seen in scenario one, where one Kepware Server represented a single factory in version 8.5. Matrix 1 - Slow (15s slow properties, 1s fast) The lower frequency tests performed the same in 9.0. Even the 10k ingestion test, which lies very close to the boundary for a single Kepware Server, passed with no errors. Matrix 2 – Fast (5s slow properties, 500ms fast) These showed similar results, but the 500 thing, 50-10 property test had data loss in 9.0. However, the write rate is much higher than PTC recommends for a single Kepware Server anyway. Matrix 3 – Faster (1s slow properties, 200ms fast) The fastest tests had similar results as well. The larger tests ran with more success with two Kepware Servers (data not shown here). Conclusions ThingWorx 9.0 is
Announcing the Final Installment JMeter for ThingWorx, the Comprehensive Guide and Best Practice Tips This is the final post on using JMeter for ThingWorx. Below there are best practice tips for using JMeter and for load testing in general. Attached to this post is a comprehensive guide including all of the information from every post we've made on JMeter, including the tutorials. For a more central source, feel free to download the guide , or see the past posts here: JMeter for ThingWorx (original post) Building More Complex Tests in JMeter Distributed Testing with JMeter Generating and Reviewing JMeter Results JMeter Best Practice Tips Use Distributed Testing As already mentioned in a previous post, each JMeter client can only handle about 150-250 threads depending on the complexity of the tests, and each client will need around 1 CPU and up to 8 GB of RAM for the Java heap. Some test plans will run with fewer host resources, so resizing the test client VM up
Hello, IIoT Developers! 9.0 is out—let’s dive right into what’s new with Composer and Mashup Builder. (If you haven’t already checked out what’s new in 9.0 with active-active clustering, be sure to check out this tech tip.) We have a lot of new functionality that we can’t wait for you to start using, so without further ado, let’s begin! Mashup Builder In 9.0, we continue to make great advancements to our Mashup Builder and visualization toolset. We’re all about productive developers building the coolest IIoT apps! Mashup in 9.0 with new Line Chart widgets! Undo/Redo Ever spent a good half hour arranging a layout, making some data bindings, adding some styles, and once you view the Mashup, you decide you aren’t quite happy with your last few tweaks? The panic sets in when you forget exactly what you changed, and you don’t want to lose all of your edits. What is a developer to do? In older versions of ThingWorx, you might cancel without saving y
Leveraging Dell and VMWare for Asset Monitoring in Connected Factories As an extension of the Connected Factory Reference Benchmark performed on Microsoft Azure, PTC partnered with Dell Technologies in producing this document, a baseline which illustrates the effectiveness of ThingWorx and Kepware when combined with Dell and VMWare technologies to create solutions for on-premises and hybrid Connected Factory implementations. Please join us in thanking Bhagyashree Angadi, Brian Anzaldua, Todd Edmunds, Mike Hayes, and the Dell Customer Solution Center team in Limerick, Ireland for working with the IOT Enterprise Deployment Center on this benchmark! This benchmark is of a very similar design to a previous publication, but this time designed specifically with Dell Technologies in mind. In a Dell/VMWare architecture, the close proximity of Kepware Server and ThingWorx Foundation provides ideal conditions for network throughput between these components. Combine
The App URI in the ThingWorx Remote Thing Tunnel configuration specifies the endpoint of the specified tunnel. The default value (/Thingworx/tunnel/vnc.jsp) will point to the built in ThingWorx VNC client that can be downloaded through the Remote Access Widget in a Mashup to provide VNC remote desktop access. Leaving the App URI blank will result in the Tunnel being connected to the listen port on the users machine as specified in the Remote Access Widget. In this case the user must supply the application client (e.g. an ssh client) in order to connect to the tunnel endpoint.
The use of non-optimized Data queries in ThingWorx can lead to performance issue and even system outage (OutOfMemory for example). I'm sharing some observations that I have collected while reviewing customers code in the context of RCAs. This was initially tested in ThingWorx 8.4.5 using PostgreSQL and MSSQL Persistence Providers, but it is still applicable to 9.0.2. Observation 1 : the query filter is always applied in-memory on the platform, it is never used by the SQL statement. var query = { "filters": { "type": "EQ", "fieldName": "firstname", "value": "Doe" } }; var result = Things["myDataTable"].QueryDataTableEntries({query: query}); The code above is fetching the entire Data Table from the DB, the filter is then applied in-memory on the platform. Applies to : QueryDataTableEntries, QueryStreamData, QueryStreamEntries, QueryStreamEntriesWithData Alternative : (data table) use the values param on FindDataTableEntries and QueryDataTableEnt
In this blog I will be testing the SAPODataConnector using the SAP Gateway - Demo Consumption System. Overview The SAPODataConnector enables the connection to the SAP Netweaver Gateway through the ODdata specification. It is a specialized implementation of the ODataConnector. See Integration Connectors for documentation. It relies on three components : Integration Runtime : microservice that runs outside of ThingWorx and has to be deployed separately, it uses Web Socket to communicate with the ThingWorx platform (similar to EMS). Integration Subsystem : available by default since 7.4 (not extension needed) Integration Connector : SAPODataConnector available by default in 8.0 (not extension needed) ThingWorx can use OAuth to access SAP, but in this blog I will just use basic authentication. SAP Netweaver Gateway Demo system registration 1. Create an account on the Gateway Demo system (credentials to be used on the connector are sent by email
New Scenario Using Multi-Kepware for Asset Monitoring in Connected Factories A new scenario has been completed for Connected Factory implementations, furthering the IOT EDC's goal of providing a reference library of ThingWorx performance. This scenario builds upon the first, with additional tests being performed to demonstrate the capabilities of multiple Kepware Servers running side-by-side. Horizontal scaling is very common for multi-line factory implementations, so be sure to check out the new scenario in this ever-expanding benchmark document. Note that tests below 10,000 writes per second were not repeated with multiple Kepware Servers, since there is little reason to desire such a configuration in implementations that small. ThingWorx deployment sizing was also held constant throughout these tests to demonstrate the limits of a given configuration. Changes that may improve the results of a failed test (such as adding CPUs or Memory) will be mentioned but not valida
Thingworx provides the capability to use JDBC to connect to Relational Databases.What would be the steps to take?1. Find the proper JDBC JAR file, this can be easily located by keeping in mind your database and its version and doing an online search.2. Download the JDBC Extension Creator from the Marketplace3. Follow the instructions to create the actual JDBC extension you will be using4. Create a Thing based on the ThingTemplate from the JDBC extension - This represents your actual connection to the database5. Set up the configuration: a. Connection String - Usually I use connectionstrings.com to find that b. Validation String - This has to be a VALID SQL statement within the context of the database you are connecting to (Like SELECT SYSDATE FROM DUAL for Oracle) c. Proper User Name and Password as defined in the database you are connecting to6. SAVE7. To check if you are properly connected, go back into Edit mode
Generating and Reviewing JMeter Results Overview The 4th in a series of articles on load testing with JMeter, this one covers pushing the limits of a test to see how much the application can handle, as well as generating and analyzing reports once the testing completes. This article rounds off the basics of JMeter, such that anyone should be able to perform enterprise-level load testing after reviewing the content here. Multiple criteria can be used to evaluate results, including: response time (as monitored both by JMeter, and by some other tool on the system side) throughput number of errors resource saturation CPU, Memory, disk, and network utilization Depending on use case, some of these may be considered more important than others. For instance, some customers don't care if users wait a while for results to appear on the page (response time), because they set their users' expectations and mitigate the experience with well-designed loading graphics. With response ti
Applicable Releases: ThingWorx Platform 7.0 to 8.5 Description: Introduction to ThingWorx Extension Development, with the following topics: What is an Extension Why building an Extension Prerequisites Installing Eclipse plugin and features Creating entities with the plugin and including exported Entities in an Extension Project Upgrading or Updating and Existing extension in ThingWorx Building with Gradle and Ant ThingWorx Extension Development Guide
Setting up the ThingWorx Server RemoteThing, ApplicationKey, and TunnelSubsystemTunneling from the ThingWorx platform to an Edge Device can be easily done with a few preparation steps on the platform side:Create an ApplicationKey entity on the ThingWorx server so that the EMS or SDK you are using can authenticate with the platformCreate a RemoteThingWithTunnels or RemoteThingWithTunnelsAndFileTransfer Thing for the remote device to bind toEither ThingTemplate will work, the only difference is if you want to use any native file transfer capabilities that are provided by ThingWorxIn the newly created Thing, on the General Information page, click on the drop-down menu next to Enable Tunneling and select Override - EnabledGo to the Configuration section under Entity Information on the right and click on the Add My Tunnel buttonThe Tunnel Name is used to identify what tunnel to use in the RemoteAccessWidget you will bind to the tunnelThe Host will remain 127.0.0.1 because this is from
Hi all, Here is the recording of the expert session hosted in September 3rd. For full-sized viewing, click on the YouTube link in the player controls Your feedback is very important to us! After watching the recording, please take 2 min to complete this survey
Hello! We will host a live Expert Session: "Top 5 items to check for Thingworx Performance Troubleshooting" on Sept 3rdh at 09:00 AM EST. Please find below the description of the expert session as well as the link to register . Expert Session: Top 5 items to check for Thingworx Performance Troubleshooting Date and Time: Thursday, Sept 3rd, 2020 09:00 am EST Duration: 1 hour Description: How to troubleshoot performance issues in a Thingworx Environment? Here we will cover the top 5 investigation steps that will help you understand the source of your environment issues and allow better communication with PTC Technical Support Registration: here Existing Recorded sessions can be found on support portal using the keyword ‘Expert Sessions’ You can also suggest topics for upcoming sessions using this small form.
Hi all, Here is the recording of the expert session hosted in August 25th. For full-sized viewing, click on the YouTube link in the player controls.
Hello! We will host a live Expert Session: "What's new in Navigate 9.0" on August 18h at 01:00 PM EST. Please find below the description of the expert session as well as the link to register. Expert Session: What's new in Navigate 9.0 Date and Time: Tuesday, August 18th, 2020 01:00 pm EST Duration: 1 hour Registration link: https://www.ptc.com/en/special-event/thingworx-navigate Description: This session is the intro of a series that will cover new capabilities of the recent Navigate 9 release and the value that each can bring to your implementation. Then we will have further sessions covering the details of some of them You can also suggest topics for upcoming sessions using this small form.
Distributed Testing with JMeter Overview Running JMeter to the scale required by most customers is something that demands additional considerations than discussed in the previous two articles. At scale, a test may need to simulate thousands of users, which will require more than just one JMeter client be set-up on one or many hosts, as shown in the 3rd JMeter article here, in a tutorial on Distributed Testing. Distributed Testing Remote Testing configuration in which the main JMeter client is located at one IP address, controlling the rest as they step through their own copies of the JMeter tests, based on their own unique data files as necessary, to simulate a user load across a network, a series of regions, or simply across many machines if limited by the size of the physical hardware [JMeter link for this image in text body below] One key aspect of a proper JMeter load test is distributed or remote testing, i.e. making use of more than one JMeter client at a time to s
ThingWorx and Azure IoT Hub Benchmark This Azure IoT Hub Reference Benchmark showcases the capabilities of ThingWorx and Microsoft Azure IoT Hub, a cloud-hosted solution backend that facilitates secure and reliable communication between an IoT application such as ThingWorx and the devices it manages. By making use of this third party tool, remote monitoring with ThingWorx has never been simpler. In this benchmark, PTC verifies the reliability and scalability of ingesting data through the Azure IoT Hub into the Azure IoT Hub Connector(s) and ThingWorx Foundation. The preliminary version of this document focuses primarily on how the Azure IoT Hub’s capabilities modify and/or enhance the data ingestion and device management capabilities of ThingWorx. Find the benchmark document attached here, and stay tuned for more reference benchmarks to come!
Thingworx provides a library of InfoTable functions, one of the most powerful ones being DeriveFields (besides that I use Aggregate and Query a lot and ... getRowCount)DeriveFields can generate additional columns to your InfoTable and fill that with values that can be derived from ... nearly anything! Hard coded, based on a Service you call, based on a Property Value, based on other values within the InfoTable you are adding the column to.Just remember for this Service (as well as Aggregate), no spaces between different column definitions and use a , (comma) as separator.Here are some two powerful examples://Calling another function using DeriveFields//Note that the value thingTemplate is the actual value in the row of column thingTemplate!var params = { types: "STRING" /* STRING */, t: AllItems /* INFOTABLE */, columns: "BaseTemplate" /* STRING */, expressions: "Things['PTC.RemoteMonitoring.GeneralServices'].RetrieveBaseTemplate({ThingTemplateName:t
Suppose, if you have uninstalled ThingWorx Flow successfully with appropriate steps. And, tried re-installing which is failing with below error in the flow installation logs, " FATAL: SystemCallError: windows_service[RabbitMQ] (orchestration::rabbitmq line 120) had an error: SystemCallError: The specified service does not exist as an installed service. - OpenService: The specified service does not exist as an installed service." This is due to the registry problem. To resolve this, need to delete the registry key. Following steps are need to be performed: Go to Start-> Search and Run 'regedit' as an Administrator Navigate to 'Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Ericsson' Delete Ericsson key and its sub key Restart your machine Install ThingWorx Flow again and it will be successful. Here is the article link on this subject: https://www.ptc.com/en/support/article/CS328600 Thanks, Vibhuti Angne
Video Author: Stefan Tatka Original Post Date: June 6, 2016 Description: This ThingWorx Tutorial will demonstrate how to configure and initiate remote file transfers using the .NET SDK.
Remote Monitoring of Assets in Connected Factories As stated in the previous reference benchmark, one of the missions of the IOT Enterprise Deployment Center (EDC) is to showcase how real-world IOT business problems are solved. Our goal is that these benchmarks can be used as a reference or baseline for architects working on their own implementations, showing not only a successful at-scale implementation, but also what happens when that same implementation is pushed to, or even past, it's limits. The second in this series is attached here, this time reflecting a Connected Factory implementation. ThingWorx was deployed alongside Kepware Server, with the numbers of things, the number of properties, and the write rate for those properties being varied to once again test the capabilities of a remote monitoring use case, but this time in a Connected Factory setting. The business logic was kept simple to ensure it was not the limiting factor, as the throughput betwe
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.