IoT & Connectivity Tips | ThingWorx & Kepware PTC
Recently active
Step 2: Creating Machine Templates Step 2: Creating Machine Templates Creating machine templates allows us to have specific levels of consistency with all of our machinery, no matter the purpose of the machine. As it goes towards more specific a machine, it will have it's own unique features and properties. In the ThingWorx Composer, click the + New in the top left of the screen. Select Data Shape in the dropdown. In the name field, enter Fizos.MachineInspections.DataShape and set a Project (ie, PTCDefaultProject). Click Save. All of our machine inspections will be based on this Data Shape.Add the list of fields below:NameBase TypeAspectsDescriptionGUIDGUIDPrimary keyString used as unique identifier for the inspectionFactoryIDInteger0 minimumFactory identifier at time of inspectionDateRequestDateN/ADate the inspection was requestedDateCompletedDateN/ADate the inspection was completedReportJSONN/AThis will hold
There are now three new places where you can get and/or share ThingWorx code examples in the ThingWorx Community:ThingWorx Platform ServicesThingWorx Extensions and WidgetsThingWorx Edge and Edge SDKsWe encourage you to share your own relevant code examples in the appropriate space. Be sure to read the how-to and guidelines for posting to the Code Examples Libraries before you create your document.Any official code from ThingWorx Support Services will be marked with an official designation at the top of the document, which looks like this:Keep an eye out for more code examples as we ramp up these libraries and don’t forget to share your own examples!
Guide ConceptStep 1: Completed ExampleStep 2: Run ApplicationStep 3: Services and Java Implementation Build a remote monitoring application with our developer toolkit for real-time insight into a simulated SMT assembly line. Guide Concept This project will introduce methods to creating your IoT application with the ability to analyze real time information as the goal.Following the steps in this guide, you will create an IoT application with the ThingWorx Java SDK that is based on the functionality of an SMT assembly line.We will teach you how to use the ThingWorx Java SDK, ThingWorx Composer, and the ThingWorx Mashup Builder to connect and build a fully functional IoT application running numerous queues and "moving parts". You'll learn how to Use ThingWorx Composer to build an application that uses simulated dataTrack diagnostics and performance in real-time NOTE: The estimated time to complete this guide is 60 minutes Step
This video gives an introduction to the Descriptive Services: what they are how to install them how to configure them how to use them
Guide ConceptStep 1: Completed ExampleStep 2: Create Session ParametersStep 3: Access Session ParametersStep 4: Next Steps Maintain cookies and security information by implementing session parameters in your application. Guide Concept This project will introduce creating and accessing session data from a User logged into your application. Session data is global session-specific parameters that can be used on the Client and Server side. Following the steps in this guide, you will be able to access the logged in User's information and their set values. We will teach you how to access session data, that can later be used to provide Users with unique experiences and a more robust application. You'll learn how to Create Session DataAccess Stored Session Data NOTE: This guide's content aligns with ThingWorx 9.3. The estimated time to complete this guide is 30 minutes Step 1: Completed Example Download the completed files for this tutori
Guide ConceptStep 1: Setup Raspberry PiStep 2: Install the EMSStep 3: Create Application KeyStep 4: Configure the EMS Connect a Raspberry Pi to ThingWorx using the Edge Micro Server (EMS). Guide Concept This project will introduce you to the Edge MicroServer (EMS) and how to connect your ThingWorx server to a Raspberry Pi device. Following the steps in this guide, you will be able to connect to the ThingWorx platform with your Raspberry Pi. The coding will be simple and the steps will be very straight forward. We will teach you how to utilize the EMS for your Edge device needs. The EMS comes with the Lua Script Resource, which serves as an optional process manager, enabling you to create Properties, Services, Events, and Subscriptions for a remote device on the ThingWorx platform. You'll learn how to Set up Raspberry PiInstall, configure and launch the EMSConnect a remote device to ThingWorx NOTE: This guide's content aligns with ThingWorx 9.3.&n
Design and implement a full application that runs without human interaction in the food and beverage world NOTE: Complete the following guides in sequential order. The estimated time to complete this learning path is 3 hours. 1. ThingWorx Solutions in Food IndustryPart 1Part 2Part 32. Factory Line AutomationPart 1Part 2Part 33. Automated Distribution and Logistics Part 1Part 24. Securing Industry Data
Get Started with ThingWorx for IoT Guide Part 1OverviewStep 1: Data ModelStep 2: Create Thing ShapesStep 3: Create Thing TemplateGet Started with ThingWorx for IoT Guide Part 1 Overview This project will introduce you to the principles of ThingWorx Foundation by creating a working web application. Following the steps in this guide, you will create the building blocks of your first application for the Internet of Things (IoT). You will use ThingWorx Composer to create Thing Templates, which are then used to create Things that model the application domain. A simulator is imported to generate time-series data that is saved to a Value Stream. After modeling the application in ThingWorx Composer, you'll use Mashup Builder to create the web application Graphical User Interface (GUI). No coding is required in modeling the application, or in composing the web GUI that displays dynamically-generated data. NOTE: This guide’s content aligns with ThingWorx 9.3. The estimated time to
As of May 24, 2023, ThingWorx 9.4.0 is available for download! Here are some of the highlights from the recent ThingWorx release. What’s new in ThingWorx 9.4? Composer and Mashup Builder New Combo chart and Pie chart based on modern Web Components architecture along with several other widget enhancements such as Grid toolbar improvements for custom actions, highlighting newly added rows for Grid widget and others Ability to style the focus on each widget when they are selected to get specific styling for different components Absolute positioning option with a beta flag to use by default is available now Several other Mashup improvements, such as Export function support is made available; improved migration dialogue (backported to 9.3 as well) to allow customers to move to new widgets; and legacy widgets language changes Foundation Heavily subscribed events could now be distributed across the ThingWorx HA cluster nodes to be scaled horizonta
Persistent vs. Logged Properties By Mike Jasperson, VP of IoT EDC Executive Summary ThingWorx provides several different “aspects” (or storage options) for how property values are saved. These options each have different implications for performance and scalability. Understanding those implications is important for designing a scalable IOT solution. Persistent Properties are best used for non-telemetry data which will change infrequently (for example only a few times in a day) and where historical values are not required. When overused, Persistent properties can put significant pressure on the database layer of your ThingWorx implementation, leading to poor performance of your IOT application. As the number of Things in your IOT application scales up, the quantity or frequency of persistent properties per Thing needs to be carefully considered. Logged Properties are best used for telemetry data where historical values need to be retained,
Timers and schedulers can be useful tool in a Thingworx application. Their only purpose, of course, is to create events that can be used by the platform to perform and number of tasks. These can range from, requesting data from an edge device, to doing calculations for alerts, to running archive functions for data. Sounds like a simple enough process. Then why do most platform performance issues seem to come from these two simple templates?It all has to do with how the event is subscribed to and how the platform needs to process events and subscriptions. The tasks of handling MOST events and their related subscription logic is in the EventProcessingSubsystem. You can see the metrics of this via the Monitoring -> Subsystems menu in Composer. This will show you how many events have been processed and how many events are waiting in queue to be processed, along with some other settings. You can often identify issues with Timers and Schedul
Business logic and actions in a ThingWorx application are driven by events. Events are interesting or critical property states that a Thing publishes to subscribers. Events are defined at the thing, thing template, or thing shape level, and can be as simple as a new data value from a device, to complex events from many data points. An event that is created on a thing shape or thing template level is inherited down into the entities that implement the shape or template that defines the event. Types of Events Built-in Custom Built-in Events Every entity in ThingWorx can use several built-in events. These events are automatically triggered when a prerequisite condition is met. In some cases, you must provide information that determines the specifics of that prerequisite. Common built-in events include: Data Change Alert Timer In ThingWorx, there are standard events and related data packets (defined by Data Shapes). The mos
GUIDE CONCEPTStep 1: DescriptionStep 2: Install EMS Remotely administer Windows Edge IoT Devices without coding. GUIDE CONCEPT Learn how to download, install, and configure the Edge Microserver (EMS) to create an AlwaysOn (TM) connection between Edge IoT Devices and ThingWorx Foundation. YOU'LL LEARN HOW TO Install the Edge MicroServer (EMS)Configure the EMSConnect the EMS to ThingWorx Foundation NOTE: The estimated time to complete all parts of this guide is 30 minutes. Step 1: Description The Web Socket Edge MicroServer (WSEMS... or just EMS for short) is a pre-compiled application based on the C SDK. Typically, the EMS is used on devices "smart" enough to have their own operating system, such as a Raspberry Pi or personal computer. Rather than editing code and compiling into a custom binary (as with the SDKs), the EMS allows you to simply edit some configuration files to point the Edge
GUIDE CONCEPTStep 1: Completed ExampleStep 2: Create Mashup Widget Extension ProjectStep 3: Widget Lifecycle in the Mashup BuilderStep 4: Widget Coding Examples Quickly Build Mashup Widget Extensions and Extend Application Functionality with the Eclipse Plugin. GUIDE CONCEPT Extensions enable you to quickly and easily add new functionality to an IoT solution. Mashup widget extensions can be utilized to enhance a user's experience, your ability to develop robust applications, and make development easier as you move forward with your IoT development. The Eclipse Plugin for ThingWorx Extension Development (Eclipse Plugin) is designed to streamline and enhance the creation of extensions for the ThingWorx Platform. The plugin makes it easier to develop and build extensions by automatically generating source files, annotations, and methods as well as updating the metadata file to ensure the extension can be imported. These features allow you to focus on de
As of Dec. 23, 2021, ThingWorx 9.3.0 is available for download and on Jan. 7, 2022, it will be available for Cloud Services. What’s new in ThingWorx 9.3?Composer and Mashup Builder Enhanced ability to find entities, code references, and project dependencies with a new Referenced by report feature.New Grid widget allows for improved visualization of row/columnar type data, with improved performance, styling, and configuration experiences. Composer enhancements allow for faster configuration and application management in the areas of test execution and dynamic use of Master Mashups. Analytics New configuration parameters (binningStrategy and allowOverlap) available for profiles to tailor application of the algorithm to meet needs of domain use cases. New option to utilize K-Fold cross validation to improve quality of predictive models created on limited data sets using industry standard technique. Automate treatment of mis
Dev Ops is a crucial process that exists in any software setting, whether you plan on it or not. Chaos in the dev ops process, say because less time is spent here than on the shiny new features that are easy to sell, results in bottlenecks in the dev ops process. Bottlenecks reduce efficiency, and leave you open to vulnerabilities as well. The faster you can get a change properly tested and safely into production, the safer and more stable the system is all along. Issues will arise, they always arise. Are you ready for them? Watch this video, see some of these additional links, and think about your dev ops process now, before the fires start! Useful Links: ThingWorx Monitoring and Alerting Using Prometheus and Grafana, Part 1 ThingWorx Monitoring and Alerting Using Prometheus and Grafana, Part 2 Overview of Monitoring Tools and Diagnostics The System Health Timer
Architecting Reason Code Trees in DPMTori Firewind, IoT EDC What are Machine Codes?Factory hardware devices communicate status changes to their human operators and other machines (IoT) via machine codes. The manufacturers often determine the machine codes for different types of factory hardware, so those are often pre-determined. However, how the reason trees map these machine codes to corresponding business logic in ThingWorx is entirely customizable. Knowing the best way to design your reason trees for this purpose can be challenging, so this guide is here to help with your conceptual knowledge. Using the UI to create, edit, and configure reason codes in technical detail can be found in the Help Center. The Tree TrunkAt the highest level of the reason tree, the trunk, there are really 3 categories: Availability (A), Performance or Productivity (P), and Quality (Q). These should look familiar; they are the three dimensions of OEE (Overall Equipment Effectiveness).Fg 1.
Based on Google's Spanner DB; CockroachDB is a distributed SQL DB scaling horizontally; surviving disk, machine, rack & even datacenter failures. It is built to automatically replicate, rebalance & recover with minimal configuration See What is CockroachDB? for more. Useful in use cases requiring: Distributed or replicated OLTP Multi-datacenter deployments Multi-region deployments Cloud migrations Cloud-native infrastructure initiatives Note: CockroachDB in current state isn't suitable for heavy analytics / OLAP. Feature that makes it really attractiveAs mentioned above, scaling horizontally it requires minimal configuration out of the box allowing quick setup starting from local laptop/machine as shown below it can scale easily to single dedicated server, development/public cloud cluster. Due to easy setup, adding new nodes is as simple as starting the cockroach utility.See CockroachDB FAQ for more. To top it off, it uses PostgreSQL Wire protocol and Post
This video is Module 11: ThingWorx Analytics Mashup Exercise of the ThingWorx Analytics Training videos. It shows you how to create a ThingWorx project and populate it with entities that collectively comprise a functioning application. It contains a recommended hands-on exercise. Here you are shown how to build a ThingWorx application that uses a ThingWorx Analytics predictive model. If your ThingWorx environment is connected to a streaming asset, say, through Kepware, you may use five tags from that asset rather than from the "CCPP" thing shown in this video. Simply bind to those tags and rename the new properties as shown in this video. NOTE: This exercise is only for demonstration purposes, and will not produce a meaningful or accurate model. **Update June 16, 2023: The following steps now reference "DataSimulator_Standalone.xml" instead of the previous "dataSimulator.xml". This new Thing will prevent errors on import.**If your environment isn't connected to a streaming asset, you
This video is Module 10: ThingWorx Foundation & Analytics Integration of the ThingWorx Analytics Training videos. It gives a brief review of core ThingWorx Platform functionality, and how the Analytics server works on top of the platform. It also describes the process of creating a simple application, complete with a mashup to display the information from a predictive model. This video does not contain any hands-on exercises, and you don't need access to a running ThingWorx Analytics environment. This video has chapters available in the player menu so you can jump directly to each section. Chapter Summaries 0:00 – Intro: ThingWorx Foundation & Analytics Integration OverviewThis Module 10 introduction previews the ThingWorx framework, things with properties, services, events, and subscriptions, plus analytics communication methods and mashups for consumable insights. 0:33 – Things in ThingWorx: State, Behavior & Core ComponentsA thing is an instance of an object with state a
This video begins Module 9: Anomaly Detection of the ThingWorx Analytics Training videos. It describes how Thingwatcher can be set up to monitor values streaming from connected assets, and send an alert if its behavior deviates from its 'normal' behavior. This video does not contain any hands-on exercises, and you don't need access to a running ThingWorx Analytics environment. This video has chapters — use the chapter menu in the player to jump to any section. Chapter Summaries 0:00 – Introduction: ThingWorx Analytics Module 9 – Anomaly Detection, Thing Watcher & SPCKicks off Module 9 with a roadmap covering the ThingWorx Analytics Thing Watcher feature, a hands-on alert configuration exercise, statistical process control (SPC) concepts, and how the SPC accelerator jump-starts building an SPC application. 0:32 – ThingWorx Analytics Server: Builder, Manager & Codeless Model BuildingExplains that the ThingWorx Analytics Server powers predictive signals, profiles, machine learning
This video continues Module 9: Anomaly Detection of the ThingWorx Analytics Training videos. It begins with a ThingWatcher exercise, and concludes by describing Statistical Process Control (SPC). The "SPC Accelerator" will be covered in Module 9 Part 3. This video contains a hands-on exercise which you may complete as you wish. However, it's not necessary, as the following modules do not rely on the product of this exercise. It shows you how to configure a property on a thing for anomaly detection, and view the results in a mashup. Download and import the attached "Project_AnomalyDetection_ThingWatcher.xml". NOTE: It is recommended to import into a sandbox or non-production environment running ThingWorx/ThingWorx Analytics 9.2 or later. Chapters are available in this video — use the chapter menu in the player to jump to any section.Chapter Summaries 0:00 – Intro: Thing Watcher Anomaly Detection Demo with a SimulatorKicks off a hands-on walkthrough of configuring ThingWorx Thing Watcher
This video concludes Module 9: Anomaly Detection of the ThingWorx Analytics Training videos. It gives an overview of the "Statistical Process Control (SPC) Accelerator" This video doesn't contain a required hands-on exercise. If you are interested in the accelerator, feel free to explore the accelerator by following along with this video. A team at PTC built the accelerator to expedite the process of building an SPC application inside ThingWorx. This accelerator is not a fully-developed or supported PTC product - it is a set of ThingWorx entities for the user to modify and employ as needed. If interested, download the attached "Statistical Process Control Documentation_v6.5.pdf" and "SPC 6.5 Import Package.zip". NOTE: It is recommended to import into a sandbox or non-production environment running ThingWorx 9.1.6 or later. This video has chapters — open the chapter menu in the player to jump to any section. Chapter Summaries 0:00 – Introduction: SPC Accelerator in ThingWorx & SPC
This video concludes Module 8: Time Series Modeling of the ThingWorx Analytics Training videos. It contains a hands-on exercise, and it is recommended to complete it before moving on to subsequent sections. In this exercise you are shown how to train a time series model and interpret the performance metrics. Download and use the attached "gas_prices.csv", This video has chapters — use the chapter menu in the player to jump to any section. Chapter Summaries0:00 – Getting Started: Navigate to the ThingWorx Analytics Data SectionKicks off the walkthrough by opening ThingWorx Analytics and using the left-side Analytics icon to reach the Data area where datasets are created and managed. 0:16 – Create a Dataset: Upload US Gas Prices CSV & Enable Time Series DataShows how to create a new dataset (named "US Gas Prices"), attach the source CSV with Choose File, uncheck the upload-metadata option, tick the Time Series Data box, and Submit so ThingWorx Analytics infers the metadata. 0:55 – C
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.